A few months ago I made the hard switch over to running Linux on my work laptop and haven't looked back even once.
I've been a windows user since 3.1 and never jumped onto the Apple craze, I like Apple's products and use my wife's Macbook on occasion but mostly stayed with windows as I'm a gamer (not trying to start an os war). I liked Windows, was familiar with it and didn't really have a desire to change. I messed around with Linux on occasion growing up running it parallel to windows but as I wasn't really into programming and was always into gaming (Shame on me for wasting my youth on King's quest and Total annihilation) as a result I never really made the plunge.
Last year I got into programming with the idea of switching careers from Ecommerce data analytics and project management into development and started teaching myself to code on windows 10. I love windows 10 and use it as my non work OS but I kept bumping into hiccups when I wanted to install or run things. C was a beast to get installed on Windows and it always felt like there was always an added layer of stuff between me and coding no matter what code I worked on. Coding is hard enough as it is and I was getting frustrated.
Early last year I was working through Zed Shaw's "Learn Python the Hard Way". He recommended that I learn the command line and had a quick tutorial to get into it. I fell in love and immediately switched over as much as I could to using the command line and manually configured my Powershell to run my stuff. Nostalgia from DOS notwithstanding it was just fun using the command line to navigate and easier than I had always assumed it would be. (I'll note that configuring powershell is not fun)
Last year something remarkable happened. Microsoft actually allowed BASH (born again shell a popular shell and command language) and a linux instance to be run on Win10 and I started messing around with it. I was sold, I could run nearly all my languages from the same shell with almost no effort. I could install python in a few keystrokes, run a c program and then setup a python program with almost no effort at all.
The only problem was that I was doing all my work on a Linux environment inside of windows and it was annoying to get my code into more normal work flows in windows and onto Github desktop which I started using around that time. So after a bunch of procrastinating I finally grabbed all my code off my windows 10 work laptop and installed Ubuntu Linux. Overnight my work flow improved drastically and now I almost prefer using my work laptop for personal everyday use. I would heartily recommend that anyone who does any coding switch to Linux, the ease of use, simplicity of installing and working with tools is incredible. Once again I love windows 10 but Linux is slowly stealing my heart.
I do recommend that if you switch to linux to start with Ubuntu and try a different flavour of the OS as Ubuntu is extremely easy to work with. I did not like the setup and desktop of Base Ubuntu though so I am using plasma Kubuntu and loving it.
There are a bunch of great Linux Distros though such as CentOS or ARCH. I'm just recommending ubuntu/kubuntu as its extremely easy to get started on and its very popular and well supported if you need some help. Plus you can download it to a flash drive and demo run it from the flash drive without having to install to get a feel for the OS.
I am currently using the following setup to run most of my code and work tools.
OS:Kubuntu 16.04
Desktop Flavour:KDE Plasma Version 5.8.8 (much prettier and UX friendly vs base Ubuntu In my opinion.)
Web Browser: Chromium and Firefox
Version Control:Git with the Gitkraken desktop platform.
Shell: Konsole (Bash)
Text Editor: Primarily Atom and occasionally vim(getting the hang of it slowly) and just installed Emacs for lisp a few hours ago.
Image Editor: Gimp
IM: Slack desktop or Google Hangouts
Languages I'm working with: C, Python3, Ruby, Clisp(just installed this today)
The only thing that I do miss is the windows version of notepad++ I haven't found a Linux version that is exactly the same but thats a small price to pay for the faster time to get into my flow, faster and easier installation of software and overall better experience that Linux has brought me.
In addition I can do server work easily, completely customize every part of my desktop, easily setup keyboard shortcuts to run programs or scripts (Windows 10 can do this somewhat as well) and can install the C compiler in one short sentence(I can't emphasize enough how easy installing programs is on Linux, most programs are a single sentence typed into the console and a quick "y" press to confirm installation.)
I hope this is insightful and encourages someone else to make the jump into Linux for doing development work, I have enjoyed the OS so much that I'm actually taking courses on Linux administration and working on becoming a power user. Something I never felt inspired to do on Windows. Thanks for reading and keep on Coding.
Top comments (47)
Welcome to Linux! It's a lovely place here.
I too miss Notepad++, but I find that Geany is quite similar as far as text editing goes. Meanwhile, Visual Studio Code is quite lovely as an IDE! (And that's coming from someone that has tried Atom, Code::Blocks, Brackets, and more than a few others.)
Here's a few other favorite packages of mine:
sudo add-apt-repository ppa:libreoffice/ppa; sudo apt update; sudo apt full-upgrade
BTW, if you plan to work in C or C++, I highly recommend the LLVM Clang compiler. As great as GCC is, Clang's got better error messages and higher performance - plus it can run natively on every major operating system. VSCode has fantastic Clang integration.
I need to try rambox and I actually use simple note on my phone so brilliant idea, gonna install that today! As to the text editor ive got atom so customized it will be a bit before I change again. I try VS on Windows but it just didn't click. Lots of awesome features though!!
Oh, there's a profound difference between Visual Studio (which I hate) and Visual Studio Code. The latter, also known as VSCode, is closer to Atom in its functionality, but much faster, with more IDE integrations. I was a loyal Atom user until I gave VSCode a try, and it won out for sure.
I might have been using the wrong one. I'll give it a try. Im a sucker for trying new text editors any day.
Visual Studio Code as an Ide? Well, my keyboard is super computer :)
I definitely use VSCode as my main IDE for Python and Go.
And it is indeed an awesome piece of software. :-)
VSCode is editor, not IDE. Pycharm, Phpstorm is IDE. Of course you can use editor but that doesn't make them an IDE.
According to me, VSCode without any Plugins is indeed an editor but as soon as you add some plugins to it, it is as capable as any IDE.
That's why a lot of people would prefer it to Pycharm or PhpStorm.
You can start using Arch Linux or Arch Based for more power and up-to-dated software.
I'm using Manjaro, but you can try Antergos.
Yes, it's more advance if you're trying to install using command line... but you will love it and Arch User Repository (AUR) will help you install almost everything ;)
thanks for the article
I think that I'm going to install Arch on one of my desktops later this year. I love the community and it seems like a solid well thought out flavor.
+1 ArchLinux is awesome to learn The Hard DIY Way.
For a rolling release and more up-to-date software, there is OpenSUSE (with BTRFS as the default filesystem!) ;)
I switched from Ubuntu to Arch and I'm very satisfied! Couldn't agree more with you!
I am a windows 10 user, just started into development and I want to switch to Linux but My hard drive is almost full (900 GB / 1TB), and I don't want to loose my data how can I switch without loosing any data, Is there any way to do that without parallel boot and just use only Linux.
By 'parallel boot', I assume you mean 'dual boot'. Don't be afraid of having a dual boot and using only Linux ;)
Since an Ubuntu flavor takes fewer than 10G, you should consider shrinking your last partition to free enough space for installing Linux. 30G is more than enough to install various IDEs, toolchains, etc.
Then, you can simply mount your 900G partition(s) on Linux to access your data. No loss at all.
Of course, backup your data regularly & especially before the shrink & the installation ;)
You can put Ubuntu on a flash drive and run it as a test that way. You'll have the option to try out the OS or format your hd. Just choose the test out option. There's a few other ways but this one is the simplest.
You can try the linux subsystem on windows 10 though right now as Bash and base linux is available now. Assuming you have room this is a fantastic way to get some practice and learn the command line and get the basics in.
here's a quick tutorial. (i edited this from the original post as this method is much simpler)
howtogeek.com/249966/how-to-instal...
for the ubuntu test:
They have a tutorial here. tutorials.ubuntu.com/tutorial/try-...
Actually I have already installed ubuntu bash on my system, but I use git bash I found it more comfortable to use, I have Intermediate understanding of command line, I just got irritate with windows. Like unexpected shut down, low memory every single time when I open more than 4 tabs in chrome, along with VS Code open, and even I open another window of the terminal it crashes sometimes. I tried elementry os distro with a flash drive It's beautiful but I guess there are some driver issue with it, so Now I just wanted to switch to ubuntu without My data loss.
I'd invest in an external hd and switch that way. i grabbed a reasonable external hd on amazon for 70 bucks a while back. i think it was 2TB
Actually did the same, backed up my data and did a fresh installation. Loving it, linux is awesome. Specially zsh shell and oh-my-zsh.
A NAS would be a good solution.
Push all your data to the NAS and access it from you Windows or Linux that you installed on Dual Boot (that's what I'm doing and it works pretty well from the last 5 years ).
I highly recommend Guake, it is a terminal application that works as an overlay instead of having its own window. You can set a shortcut to hide and show the overlay. I honestly can't work with normal terminal windows anymore, I need Guake (iTerm2 with some tweaks can work like it on Mac)
Oh this sounds cool, I'll check it out. I have my terminal keybound so its super easy to pull up but I do have to minimize and move it around a lot.
One more vote for Guake. In addition to that, try Tmux+Byobu+Guake.
Give zsh and ohmyzsh (github.com/robbyrussell/oh-my-zsh) a try for a better shell :-)
I've heard of ZSH before, I'll definitely give it a shot. Always willing to try something new, especially if it improves productivity,
I loved that terminal! Unfortunately, it didn't recognise ruby commands for me :(
A few suggestions
Try Terminator for terminal
And VS code instead of atom . It really works faster comparing to atom
Zeal for offline documentation . This works because there's no official CHM reader for linux .
Calibre For e-book management . It supports almost every version of Ebooks
+1 on zeal. It has many offline documents.
I find this very relatable. I for one, decided to switch to linux because interaction with servers was better documented, and after all, a smoother experience. And it saved me a lot of time :) I had some friction with the terminal, but if you push through the two first days, it becomes second nature.
I was doing some mysql work a while ago, I will absolutely be getting into linux server stuff later on and love that its so well put together.
Same with the terminal here but once I got CD, LS and PWD things got easier lol.
I would like to change too, but as a student, I use Ms Office a lot. I was using Libre Office for a long time, but I returned to MS Office for different reasons.
I'm sure you'll have some specific requirements, but the majority of students aren't going to need anything MS specific - they'll just be doing word processing, 99% of the time, where Google Docs or LibreOffice or even Office 365 will be more than adequate.
Don't let Office bring you out of Linux.
Some great alternatives are available now.
WPS Office is one of them.
wps-community.org/
Free Office is another one.
freeoffice.com/fr/
I am using Free Office on a day to day basis as it is available from the Ubuntu Software Center.
I have switched to google docs and sheets for my writing and excel type work. Libre office is cool and just made a big version update but I haven't even needed to try it because of Google's tools.
I was not aware of the new update, it looks good!
Your title brings me to that article.
I was very interested to ear about your journey from Windows to Linux.
I tried Linux in 2004 and at that point I had a very hard time with. Nothing was working and my very first laptop literally broke using Linux.
That was a very bad first experience from the Open Source Community. :-D
Then a few years later, I tried Linux again, and it was way better.
And I am now a full time Linux user.
Thanks to Web development, the software proposition on Linux is as great as it is on any other platforms.
And I must say that for photography management it is even better than on Windows or MacOS (Darktable and Shotwell is a perfect mix).
I really love Ubuntu for its huge compatibility with hardware and software but I indeed changed the flavour and installed Ubuntu Budgie.
That gives the best of the Solus desktop environment but in Ubuntu which has, at the moment, a great number of softwares available.
Had a great time on Linux.
Hi,
Linux for devs is a must ! Even just because every other devs are on Linux.
Therefore, I guess you kept another machine for personnal use (games as I've read) or do you now only use Linux ?
I had the tremendous luck to have grabbed a few desktops and laptops when my place of work went bankrupt. I have a nice dell latitude with 8gigs and Kubuntu for work and another dell latitude with 16 gigs with win 10 for personal use. I'm really considering switching it around though as i'm not gaming heavy right now on pc and am coding more often. Steam is paving the way for Linux gaming though so I hope to be able to switch over once and for all in a few years.
Gaming on linux... that's the dream man!