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.
Oldest comments (47)
Congratulations on your Linux conversion! There's nothing like an
apt install allthethings
.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.
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 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!
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.
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!
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!
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.
you can use notepaddqq (linux equivalent of notepad++). VScode is a beast tbh. you will love it!!
I'll take a look, frankly, the only reason I used notepad ++ was because of the autosave feature. I closed it a lot by accident and having a fast loading, autosaving, code friendly notepad was pretty helpful lol.
Sir, How to Download this website in "mechanicaljungle.com/parts-and-fun... " in notepad format
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.
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 :(
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.