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.
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.