Why Some Developers Prefer Linux
What are the reasons some developers prefer Linux over Windows or MacOS?
12 Oct 2021
When I talk to other developers, we often talk about new concepts to learn. Something that often comes up is Linux and why I feel it's important. I always have a hard time explaining everything.
Linux is so broad. Where do I start? Servers, desktops computers, Android phones, the open-source movement, are all huge components of why Linux is essential. There's so much to explain.
So I wanted to go over why I use Linux, and why others have told me they prefer the Linux desktop for development.
What is Linux?
Before I explain why people prefer Linux, I need to explain what Linux is.
Linux is the name of a computer kernel. A kernel is a program that is in charge of the interactions between hardware and software.
However, when most people refer to Linux, they mainly refer to GNU/Linux, which is the free GNU software combined with the Linux kernel. A Linux distribution, or distro, is an operating system based on GNU/Linux.
Linux has heavy usage in servers. Some statistics say that 90% of cloud providers run on Linux. Android, the current most used operating system, was also made using the Linux kernel.
Why do so many users flock to it? All distros are required to be free and open-source because of the GPL license. For companies, this is important because they don't have to spend costs on the operating system, and they can modify it to suit their needs.
Why wouldn't you use a free, versatile tool?
Linux desktop features many customizations. You can choose from several different distros. Distros can have different desktop environments, windows managers, icons, menubars, application launcher, and more. With so many options, you can find the distro that suits your needs.
Although, occasionally, the Linux distro won't fit your needs perfectly. No problem. You can remove, add, and change the software to suit your liking. However, while completely customizing your desktop might be exciting, if you don't know what you're doing, you might cause issues.
Linux customization doesn't end at the graphical interface. Using Linux allows you to replace almost any software you don't want. Power users can find this useful, as the experience offers almost no limits.
In my experience, Linux desktops are also more lightweight than alternatives. Customization can allow less powerful laptops to run better.
One of the reasons customization is preferred for my purposes is because I configure my setup to mainly depend on keyboard shortcuts instead of depending on my mouse. I have found I am more productive this way.
One of my favorite features of Linux is the package manager. A package manager is the program that is in charge of installing software on your computer, usually using the command line.
Instead of needing to search for software in the browser, you can simply type the name in your terminal. It seems like more trouble, but it becomes much better for speed and managing package dependencies. Because I can install the packages directly from the terminal, I find it useful when installing development tools.
If you change computers a lot, you can even make a script to install everything you need. For instance: if you're a MERN stack developer like me, you could make a script to install node.js, npm, MongoDB, and Visual Studio Code.
If you're not a fan of using the command line, don't worry. There are ways to use a GUI package manager too. A lot of distros come with them pre-installed.
Yes, I know that macOS and Windows have package managers too. I wouldn't say that the package managers are as powerful, fast, and efficient compared to the options you have for Linux. But that's a matter of opinion.
Because most modern servers run Linux, using Linux is an important skill to know.
With enough know-how, you can set up a home server with Linux if you desired. Not interested in a home server? You can host a Linux server on the cloud instead.
That is one of the biggest reasons I use a Linux desktop for development. Seeing as the process of setting up my dev environment is almost the same for my servers, the process is simpler because I already know what to expect.
Security and Privacy
There has been debate on whether Linux is secure due to being open-source. Some say because Linux is open-source, potential hackers can find vulnerabilities. Others argue that, before hackers can exploit the vulnerabilities, the community can fix the issues.
Currently, Linux is considered more secure than Windows. With Linux, you are usually installing a software package from a trusted repository. Unlike Windows, where you're downloading software through the browser.
Also, there are fewer viruses available for Linux. Linux users are not a big target to hackers because of the smaller market share. It will also prevent you from running system-wide programs unless you enter the root password. These combined reasons make malware less effective and are partially why antivirus software is not common when using Linux.
You also don't have to worry about privacy. Most, (if not all), distributions don't track your data, making Linux an ideal choice for people who prefer their privacy.
How to Get Started?
Are you interested in trying Linux?
I would start by researching the requirements you would want. Then, find the distro which meets most of those requirements. You can try out the Linux distro, use a virtual machine, and test it before committing to installing it.
The distros I have personally tried and recommend for beginners are Ubuntu, Manjaro, and Pop_OS. The GPL license requires all distros to be free and open-source. There's no paywall to any distro you want to try.
I mentioned just some of the reasons people use Linux, but there are so many other components that haven't been mentioned. Its impact on the
open-source community, system admins, cybersecurity, cloud computing, Unix philosophy, and more.
The usages of Linux is broad. All of the benefits are difficult to cover at once. My recommendation is to get started and try it for yourself. Learning Linux has opened many opportunities for me to learn and enjoy. I hope it does the same for you.