Can there be a best Linux distro for web developers? Or, more generically, let’s say can there be a best Linux distro for developers?
We have covered SemiCode OS, a Linux distribution for programmers. But SemiCode OS is still in beta so I thought I would compile a list to answer your question: which Linux distributions should I use for programming?
A lot of things like the programming language, tools used, support, availability of packages and speed of their update in the repositories and a host of non-functional requirements like the desktop environment, stability come into play to determine the best Linux distro for coding.
A programmer comes into contact with the OS particularly to a higher degree than anybody else. For a programmer, an operating system must turn him/her on. And by ‘turn on’ I mean create a burning passion to code and make the world a better place.
Best Linux distributions for programming
Anyway, let’s begin. We’ll be having a look at the package managers, availability of packages, stability, release models and desktop environments of distros in particular.
Ubuntu gives 3 concrete reasons for programmers to use it.
Ubuntu has grown so much that it has become quite of a premier desktop Linux. I see almost all software vendors that produce for Linux platform offer a .deb package. Today Ubuntu gets the maximum support from vendors than any other distro.
This means that any IDE, tools that a developer will need will have a .deb installer ready for download. All you have to do is click. This also has a huge benefit when your project depends on a specific version of a software. It also has a huge repository of stable software.
Ubuntu provides an LTS version which will be supported over a period of 5 years and a never non-LTS version supported for 9 months. The non-LTS version having much never packages (as the LTS version ages). This facilitates an unmatched stability. The core components of the operating system and the kernel will not change as in the case of rolling release OS. This provides programmers and developers, a dependable and stable work base which is not going to give out any inconsistency.
Thirdly, I want to discuss the desktop environment of Ubuntu that is Unity. Although this is a matter of subjective preference, I’d like to bring about the pros of Unity for a programmer.
Unity features a simple interface. The launcher is a simple stack where you place all your favourite and most used applications. You launch apps and switch between apps using the same launcher. This, I felt was drastically less invasive compared to Gnome. It facilitates a faster switching between apps. Also, Unity is easily customizable. The dash is also highly accessible and helps you navigate around the OS quickly. Honestly, the launcher is a great productivity booster.
openSUSE is one of the most sophisticated Linux distributions out there. It has a great community, a solid development sector and a completely professional attitude. Although I use Arch Linux on my computers, I’ve always had a high opinion about openSUSE.
openSUSE is much more suited for developers in particularly because of the freedom it allows. openSUSE comes in 2 variants.
Leap comes with a life-cycle of 6 months after the next version comes out. So currently, if you install openSUSE Leap 42.2, it will be supported up until 6 months after the release of openSUSE Leap 42.3. It comes with stability guaranteed software set, so any tool you need for development work will be running bug-free throughout and beyond your project.
openSUSE Tumbleweed, on the other hand, follows a rolling release. You can say it’ll be supported forever. The software will be updated on a regular basis. All the IDEs, your favourite open source code editors and other tools will be updated to the newest version, always. Although the updates are well tested and they almost never cause any issues that come with bleeding edge distros, there is one thing you must consider. More than often, your project might depend on a particular version of a software, like the JDK. You must be careful during accepting upgrades in such cases.
Leap or Tumbleweed, openSUSE has an absolutely amazing software delivery method. Just go to software.opensuse.org, search for the package you need and just hit “Direct Install” and done. No repository, commands and dependency hassle. I think this is a major selling point for openSUSE. This will save a lot of time when you just want to install stuff and get to coding.
Finally, openSUSE is a great Linux distribution for programming and coding because of its robustness, stability and a huge repository of well-maintained software. No wonder, even many enterprise use it for their developers. Definitely check it out.
Linus Torvalds himself uses Fedora. Need more reasons?
Fedora is fast. Even the Gnome version of Fedora runs quicker on my PC. Faster than other distros running on Gnome. I love it when I don’t have to stare at the screen when Chrome is taking forever to start.
Fedora has a release cycle of 6 months. This is great for developers who can’t afford to be left with an older version for too long.
A prime reason to choose Fedora lies in something more than just the package manager or the desktop environment. Fedora is an orthodox advocate of open source principle. Everything Fedora is open source. There are no proprietary drivers and stuff available in the Fedora repos (You can install proprietary drivers, but it’s a little complicated than running a couple dnf commands). So if you are an open source enthusiast, Fedora is definitely for you.
Fedora is the sister project of Red Hat Enterprise Linux, the original programmers’ operating system. There is a mutual relation between Fedora and Red Hat Enterprise Linux that gives both of these an advantage as far as technology and innovation are considered.
Fedora might get sponsorship and professional feedback from RHEL, but it is driven by a community of enthusiastic developers and RHEL professionals who are passionate towards Fedora. This directly leads to Fedora being a superior setting for developers. And to add Fedora is one of the most stable Linux distros, on every version.
4. Arch Linux
Ok, so this one will require a fair amount of time and patience on your part just to set up. But it’s worth it.
Arch Linux comes with just the Linux kernel and the package manager, Pacman. You don’t even get a graphical interface. You build on the base, picking components as per your preference. The result of this is a highly personalised operating system which contains everything you need and nothing that you don’t.
Arch Linux is known for it’s bleeding edge, up to date repository. Every package in the official repositories is always on the highest version number but, still gets there only after extensive testing. So the operating system itself is completely reliable. The rare issues regarding stability creep in when you install unsupported packages from the Arch User Repository (which can be avoided by being cautious while dealing with AUR). This too affects only the software in question and not the OS itself.
Every debug info and instructions are well documented in the Arch Wiki which honestly is the best documentation any Linux distro has. So any issue you may face can be repaired easily by following very beginner-friendly instructions provided in the Arch Wiki.
Arch Linux comes with zero maintenance as the OS keeps itself updated. Dependency issues and orphaned packages are handled efficiently by Pacman. The latest and the greatest of everything Linux is always available in the Arch User Repository.
Building a personalised operating system with Arch Linux is the way to go if you ask me. Check out Arch Linux here.
Antergos is an Arch-based Linux distro. Many people consider Arch based distros to be just Arch installers, something that helps install an Arch system using a graphical user Interface. Well, that’s not the case here. Antergos uses Arch repositories yes. But it comes with its own twist.
Antergos follows a rolling release so you don’t have to worry about the end of life. It is available in every major language. Antergos, although based on Arch, is not a barebones distro. It comes with a good number of software pre-installed. But this number is still less compared to other distros so you won’t feel it’s bloated and this provides an opportunity to customise it as per your wish and needs.
Antergos uses the Arch repositories so anything you’d want in your arsenal is always available with the highest version number. Pacman, the package manager in Arch comes without any add-repository hassle. The repository contains the latest of any software and sometimes some prominent older versions are also kept, like the Java Development Kit. Antergos also comes with its own additional repository which provides Antergos customization packages (different from Arch), Antergos software and many other things like Antergos wallpapers and icon packs.
Pacman handles dependency issues and orphaned packages in a way superior to any package manager out there. Instability is out of the question.
New software tools are coded, techniques are devised and trends change with every sunrise. This is where the Arch User Repository comes in. Arch User Repository is the community driven repository which contains a huge number of packages including many newer software. It practically contains everything that runs on a Linux machine. So every IDE, Development Kit and Libraries you need will be installable with just a single command.
Antergos provides every major desktop environment. The installation is simple with the Cnchi installer. It provides options to chose your desktop environment, browser, graphics drivers and such at the installation itself. All in all, Antergos makes a great Linux distribution for coding. Do check it out at its official website.
There you have it people, my pick on the best Linux distros for programmers. Do share your views about these distros with us. Also, share some tips that we programmers might find helpful in the comments below.