Frankly speaking, building non C#, ASP, VC++ applications is an awful experience on the Windows operating system. When a new version of an IDE or an update to a programming language you’re currently using is launched, you’ll have to update the application/language manually on the Windows OS. On a good Linux distro, a single command will not only update the OS but will also update outdated applications. In other words, Linux makes the lives easy for its users.
Microsoft’s Windows operating system ships with junkware i.e. applications you may never use. These apps run in the background and use the RAM/Processor. A RAM hogging IDE such as Android Studio may not provide a great experience on the Windows OS.
The above two reasons are enough to prove that the MS Windows OS isn’t good for developing applications.
Which OS should you use?
Linux based distro is the answer to this question. Why Linux? Well, the Linux family of operating systems are not only free but are also open source. The heart of the distros is the Linux kernel. The source code of Linux kernel is listed on Github.
Which OS you can use for developing web/desktop applications?
Although there are several Linux distros available for download and installation, not all of them are updated on a regular basis or are stable and provide good experience to the users. Here are best Linux distros for programmers (In my perspective):
Installing and setting up the Arch Linux OS is a bit difficult but once you get the OS working, you won’t look back. I tried several Linux distros but found Arch to the best distro even though it is a “rolling release”. Arch lets you install the software that you want to use not the applications that the company behind the OS or the distro wants you to use. Arch supports almost every programming language you’re aware of and provides 1000s of packages/tools. You’ll find all popular IDEs in its software repository. To install a package, all you have to do is search the package in the software repository and type “pacman -S package_name”. If the application is not available in the Arch Linux repo, you should search for it in the AUR repository. To install a package available in the AUR repository, you should use the “AUR helper” tool.
The Manjaro Linux is a great choice for the users who want to use the Arch Linux OS but are afraid of the command line installer of the OS. Manjaro is based on the Arch Linux OS and employs the modified XFCE theme. Manjaro’s supports Pacman, AUR helpers and enables users to install software/packages from the Arch Linux repository.
Ubuntu (Xubuntu, Kubuntu)
Based on the Debian OS, Ubuntu is a widely used Linux distro. You’ll find several forums on the Internet dedicated to Ubuntu. Most of the forums have 1000+ threads. Thus, it is easy to find a solution to a problem you’re facing with the Ubuntu operating system. Like Arch Linux, Ubuntu gives users access to 100s of development tools.
Debian is one of the oldest Linux distros. It is also widely used. The only problem with it is installing third-party software is time-wasting. In the above distros, you don’t have to add the repository manually. In Debian, you’ll have to add the repository manually. Popular Linux disstros such as Ubuntu, Linux (now) have been derived from it.
Fedora is backed by one of the largest open-source software development firms i.e. Red Hat Inc. It is a powerful operating system based on the Debian OS. Fedora is not a rolling release. A new version of Fedora is introduced every year. The package manager in Fedora is similar to that of Debian i.e. dnf and apt-get.
OpenSUSE is based on the SUSE Linux OS. It is a favorite distro of many programmers/developers. The team behind OpenSUSE has introduced several editions of the OS. The OSs are designed for different users. Users that love regular updates would like OpenSUSE Tumbleweed. Users that are looking for a stable version of OpenSUSE should use OpenSUSE Leap.
Things to consider while choosing a Linux distro for programming:
Waste of time: A programmer writes code. The operating system should not waste the time of programmers by making them add repos, download and update packages, etc. The above distros have a powerful package manager. They also give you access to 1000s of applications.
Packages: The distro should support or directly give access to all the tools and packages a developer wants to use or will use in the future. The packages that you can install on the distros mentioned above are updated on a regular basis (excluding Debian).
Desktop Environment: In Gnome, it is difficult to switch between if you don’t install a plugin/extension that will display minimized windows on the taskbar. I’ve not used Gnome since 2018. Before 2018, it used to consume more RAM than KDE. XFCE uses the least amount of RAM, CPU. KDE also uses low system resources but it has better UI than XFCE. The distros we’ve shared above support the latest edition of XFCE, KDE, as well as GNOME desktop environments.
Support for the latest technologies: The operating systems we’ve shared above support the latest technologies i.e. Kubernetes, docker, etc.
Stable: If the distro crashes at random time intervals, you may lose unsaved work. You should choose an OS that is stable and reliable. I haved used the Arch, Debian, Fedora, Ubuntu, and OpenSUSE OS. None of the operating systems crashed when I was using a sophisticated IDE and its built-in tools.
Am I a programmer? Yes, when I’m not writing blog posts, I build applications and when I’m not building apps, I write blog posts.