Should programmers use Linux?
Even though there are tons of Linux distributions which are aimed at beginners to make things easier, the majority of the crowd still uses the Windows operating system. There are many reasons behind this, but that’s an inspiration for some other article. Here, we are going to discuss the best Linux distros for programming and development purposes. Using Linux while starting to learn new technologies is great because Linux is free and open source. You don’t need to spend tons of money to buy software and OS.
It also lets you make changes as per your convenience and build a personal system to suit your programming needs. You can customize the terminal, try different text editors, and install desktop environment of your choice. Moreover, most programming languages (if they aren’t limited to a particular OS) work on Linux. Last but not least, Linux expertise is in great demand and it’ll surely help you earn some extra points while looking for your dream job.
Having established that Linux is great for programming purposes, let’s get started and tell you some of the best Linux distros for programming. Before that, don’t forget to check out our other useful lists of Linux distributions for specific purposes:
11 Best Linux Distros For Programming for 2019
1. Debian GNU/Linux
Debian GNU/Linux distro is the mother operating system for many other Linux distributions. Its latest ‘stretch’ release arrived recently. In any discussion of the best Linux distros for programmers, Debian and Debian downstream distros find a special place. The reason behind Debian’s status as a developer’s operating system is a large number of packages, which are aimed at stability, and tons of tutorials out there to solve your issues and get better at whatever you’re doing. Here, I’d also like to mention the Debian testing branch (don’t let the word testing scare you), which has all the latest software and it’s pretty stable. It’s highly recommended for advanced programmers and system administrators.
Please note that if you a beginner Linux user and you’re learning the basic nuances of coding, Debian isn’t the perfect programming operating system for you. For that, you need to look for other options like Ubuntu LTS.
Why use Debian for programming?
If you want a rock-solid stable system whose repositories have tons of open source goodies, go for Debian. Also, its popular .deb package management is another plus point.
Ubuntu is most famous and commonly used Linux distro for development and other purposes. Over the years, thanks to the support provided by Canonical and open source community, Ubuntu has grown to become one of the highlights of Linux desktop scenario. Due to its popularity and continuous development, this Debian-derivative is heavily used in the cloud and server applications. It also ships in multiple flavors to gratify different needs of people.
For all your development purposes, getting .deb packages won’t be a tough task. Its own Software Center has tons of free applications that make it a great Linux OS for programming. Its LTS version remains supported for 5 years and provides the stability of a fixed release. Notably, many programmers disliked its Unity desktop environment. But, due to some recent changes, Ubuntu has switched back to GNOME desktop.
Why use Ubuntu for coding and development?
The most popular open source OS has a huge user community to help you out at every step. A polished experience is provided by LTS releases that are quick to fix issues. Ubuntu also supports popular .deb package management system.
openSUSE, which can easily give Ubuntu a run for its money due to its professional and timely development, is a very stable operating system for programming. This Linux distro is available in two versions. While openSUSE Leap is the LTS release which remains pretty up to date and guaranteed stability, Tumbleweed is the rolling release for those who love the taste of the latest software.
One of the major strengths of openSUSE is its YaST package management which makes it easy to automate different tasks. Another great quality of this dependable Linux distro for developers is its software delivery method. You can simply visit their website and directly install anything you like. Its vast package database and supportive community is another plus point.
Why use openSUSE as a programming Linux distro?
It’s stable with very latest packages and comes with tons of packages in the repository. Its YaST package management is loved by many.
Community-driven Fedora, whose primary sponsor is Red Hat Inc., known for delivering the most cutting edge features in the world of Linux desktop. Its latest releases often inspire the other Linux distributions to adopt new features and make changes. Its smart auto config and updated packages make it a perfect programming operating system for a developer. If you don’t like being stuck with an older version of operating system you can adopt Fedora as it has a release cycle of 6 months. Upgrading from one version to another is also painless.
Moreover, Fedora only ships with open source components, which makes it a perfect choice if you’re a die-hard open source lover. Even Linus Torvalds prefers Fedora over Debian and Ubuntu. The Fedora forum is a very friendly platform to share your problems and get them solved. As Fedora is backed by Red Hat, you can expect it to work without issues while development process.
Why use Fedora for programming?
Fedora is pretty stable and it just works. It works mostly out-of-the-box on most hardware. Its small release also delivers cutting edge features.
If you love everything about Fedora (and RHEL) but you wish to use an operating system with long term support, you need to use CentOS. It’s basically community version of Red Hat without any fee or support. As it’s compiled from RHEL sources, most of the commercial software built for RHEL can be made to run on CentOS. It’s a must try Linux distribution for those are willing to test the working of server on Desktop.
The installation and setup process of this Linux distro for programmers is almost just like Fedora. To address your different software needs, there’s the vast Red Hat Software Collections and CentOS repository. This highly stable system also allows you to develop applications with safely using Xen virtualization. It uses YUM for package management.
Why use CentOS for development?
CentOS is a rock solid Linux distro that’s perfect for programming. If you’re doing enterprise development, look no further.
6. Arch Linux
Arch Linux, the favorite Linux distribution of die-hard Linux enthusiasts, comes with Linux kernel and package manager. You need to start from the ground up, choose components, and build a customized operating system that could easily become a great Linux distro for programming and other development purposes. The whole Arch community is experienced with programming at some level, so you get some helpful company.
If you love the rolling Linux distributions (here are some fixed vs rolling release differences), then you don’t need to look any further. This bleeding edge distro’s repository is always up-to-date. Its one-time installation is sufficient and every time a new version is released (very early every month), you get an updated machine. So, you can focus on the development work and leave other worries aside. If you wish to do some penetration testing work, by following some instructions you can convert your Arch Linux installation into a BlackArch installation.
Why should programmers use Arch Linux?
Arch Linux is highly customizable. It teaches you a lot while getting your system ready. If you have experience with Linux, you should definitely try Arch and build a personal system.
7. Kali Linux
Kali Linux, created by Offensive Security, is primarily preferred by ethical hackers to perform penetration tests on vulnerable networks and computers. But it can also act as a great companion for coders who are looking for a Linux distro for programming. It comes loaded with tons of pre-installed tools. However, let me make it clear that it’s not designed for a beginner who doesn’t know his/her way around in the world of Linux. So, if you have some experience related to Linux and programming, you can try your hands on Kali Linux to brush up your skills. Just like other entries on this list, you can install this distro from the scratch and boot it using a virtual machine.
Why should coders use Kali Linux?
Kali Linux is the perfect combination of tools for ethical hackers and programmers. So, if you have these interests and they intersect, Kali is a great option.
And then comes Gentoo. It’ll need a lot of investment from your side. So, be prepared. If you need special compilation options on your executable files, you can give Gentoo a try as it does everything from source. It also lets you rebuild your entire system for your specific CPU architecture. The installation process will teach you a lot about your system and its subtleties. One of the best parts about Gentoo, which is also a curse for some people, is its ability to configure what compilation flags packages should support. If we keep the ease part aside, Gentoo gives a developer power, stability, and flexibility–everything that he/she wants.
Distros like Gentoo and Slackware (and Arch Linux, to some extent) are hard to install and setup. The stuff that really needs to be automated is automated and the stuff that can teach you something is left manual. Having said that, if you’re having some experience in Linux and you wish to expand the shores of your knowledge, try Gentoo.
Why should programmers use Gentoo?
If you think you’re an expert and you love challenges, choose Gentoo. It’s also great for developing Linux packages.
9. Manjaro Linux
If you know how to setup your Arch Linux system, you don’t need Manjaro Linux. But if you want an Arch-based system without thinking much about updates, you can go for Manjaro. It’s very easy to install, just like Ubuntu or Linux Mint. Manjaro is the newest distro on this list and it’s growing at a fast pace. Currently in Distrowatch’s past 6 months ranking, it sits at #1.
Manjaro’s development team has been doing a pretty great job with each release and making the overall experience more polished. Its stable branch is just a few weeks behind Arch stable. One more thing, if you don’t want your programming Linux distro to be devoid of systemd, there’s an OpenRC spin for that. It also has a utility to let you select real-time kernels. You can also go for another Arch-based distro, Antergos. For many, Manjaro/Antergos is to as Arch as Ubuntu is to Debian.
Why use Manjaro for programming?
If you love the power of Arch Linux and a stable distro that just works, try Manjaro. You can also go for Manjaro-OpenRC if you don’t like systemd.
With every new iteration, Raspberry Pi mini-computer is getting more powerful. This credit-card sized computer has become a viral hit in schools as it’s heavily used for Linux programming and teaching the basics of coding. This modest computer’s official Raspbian OS comes loaded with tons of programming tools, connector pins, and other useful ports. This makes it a perfect Linux OS for learning programming.
It has BlueJ, Geany, Greenfoot, Mathematica, Python, Node-RED, Scratch, and other tools for making your learning process more effective. Recently, it got a new Pixel desktop, which has improved the overall look of the OS as well.
Why use Raspbian for programming?
If you wish to learn to code and dive deep into the world of DIYing, you can’t better than the combination of Raspberry Pi and Raspbian.
The US-based Linux hardware manufacturer System76 announced its custom Ubuntu-based Linux distribution called Pop!_OS in 2017. The company took this step after Ubuntu decided to ditch its homegrown Unity desktop environment and adopt the already flourishing GNOME desktop. It ships in two different ISOs designed for your hardware — Intel/AMD and NVIDIA.
System76 calls Pop!_OS an operating system for developers, makers, and computer science professionals who use their machines to create new things. It supports tons of programming languages and useful programming tools natively. To make your workflow more productive, this Linux distro for programmers tweaks how GNOME operates and takes steps to maximize the screen real estate coupled with advanced window management, shortcuts, and workspaces.
Why choose Pop!_OS for programming?
Ubuntu can do everything Pop!_OS can do. But its dedicated tools, attractive looks, and refined workflow can attract lots of people.
So, did you find this list of Linux distros for developers interesting? Which one is your favorite? Do let us know in the comments section below.