If you’re thinking about programming or just learning to code, you might notice that developers tend to favor Linux. Why is that? Here are the reasons you should care about Linux’s hold over developers.
Unix inspiration
Linux has inherited Unix’s developer mindshare
While Linux doesn’t contain any of the original code that was developed for Unix at Bell Labs, if a Unix developer time-traveled to the modern day and sat down at a modern Linux distribution, they would find a lot that would be familiar. The directory structure would be largely the same. They would be able to run many of their favorite utilities. They might even be able to use their favorite editor, or at least a reasonable facsimile.
There’s a good reason for this. Unix concepts have become the lingua franca of computer science. The main reason is historical. Because AT&T, Bell Labs’ parent company, couldn’t sell computers or software due to a consent decree in exchange for a monopoly on telephone service in the US. They could give away copies at a nominal cost to universities. These low-cost licenses included the source code, but universities were on their own for support.
Computer science departments jumped on the offer, and professors and students created their own improvements. As students graduated and moved into the computer industry, they insisted on using Unix in their jobs. BSD was one of the best-known offshoots of the original Unix, with variants of BSD still popular today.
Unix’s importance to programmers is highlighted in this 1989 segment from the PBS show, The Computer Chronicles:
Since Unix was easy to port to new machines, many variants were first created for internal use. Since Unix was becoming better-known in business as well as academia, computer companies realized they had another viable OS on their machines and decided to market versions of Unix as official products, but they had to find other names since only AT&T could use the Unix name.
Unix’s popularity among developers even in the early 1980s prompted Richard Stallman to base the GNU project around Unix, providing “free as in speech” replacements for Unix utilities.
Regardless of Linux’s technical merits, Linux has inherited the mindshare that Unix has among CS academics and professional programmers. A lot of books and tutorials will assume you’re using Linux or another Unix-like environment such as macOS. It’ll be easier to follow along with tutorials with a Linux system, including Windows Subsystem for Linux.
Essential programming tools for free
Like a lot of kids who loved playing computer games, I dreamed of making my own. My first DOS/Windows PC came with a BASIC development environment called Qbasic. I created some rudimentary programs and entered type-in programs from books and the 3-2-1 Contact magazine’s “BASIC Training” section.
Even then, I knew BASIC was a dead end. But professional programming tools on the PC seemed unattainable. If I’d known about Unix or Linux at the time, I probably would have jumped on it.
One reason that Linux is such a favorite among professional developers is that it comes with so many programming tools for free. Instead of shelling out for a Microsoft SDK (back when they actually cost money), your system might come with programming tools like compilers, debuggers, or interpreters. It will certainly come with an editor.
Because of how ingrained Linux/Unix ideas are in development and the availability of tools, Linux is also the best platform to learn programming on.
You can easily add more tools using the package manager. You don’t have to hunt around the web like you do for Windows programs. You can download your tools in one place.
Linux’s appeal to professional developers is that they can get their work done. The terminal, editor, and other tools are as indispensable to developers as spreadsheets are to financial professionals.
Open source
Devs like to know what their machines are doing behind their backs
What we would call “open source” or “free software” has been around about as long as computers have. Computer centers would often keep code listings of available software so that students and professional programmers could study and learn from the code and improve their own programs.
Access to software also allowed programmers to study and improve the code on their own systems as well.
If there’s anything developers hate, it’s black boxes. They need to know what their systems are doing. Being able to examine source code allows them to have confidence in their environment and fix things when they inevitably break.
Linux is flexible
You can run Linux any way you want
One reason that Linux is so popular among developers is that it’s more flexible than other systems. Windows assumes that you’re going to use, well, windows as the primary interface. Even the server version assumes a GUI as a default interface.
Linux, with its Unix conceptual roots, decouples the system from its user interface. You can run your Linux system without a GUI, similar to the days of minicomputers and mainframes, if you want to. And many servers do run without keyboards or screens attached. They’re managed remotely over SSH or specialized web interfaces like Cockpit.
This flexibility is one reason Linux seems daunting for nontechnical users, but programmers and administrators swear by it.
Lightweightness
Linux is the motorcycle of OSes
One thing that Linux fanatics cite about Linux is that it’s “lightweight” compared to Windows. With distros like Ubuntu having the same memory requirements as Windows 11 these days, that’s a less defensible claim, but Linux seems to have a lightweight feel to it.
I used to visit a public access OpenVMS cluster, and on the “notes” program that served as a bulletin board, one person contrasted the experience of VMS vs Unix by claiming the former was like driving a Mack truck, lumbering, heavy, but reliable, and Unix as a motorcycle: nimble and able to weave in between cars, but also dangerous if you make the wrong move. Since Windows NT and OpenVMS were both helmed by Dave Cutler, you could probably substitute NT and all modern versions of Windows for OpenVMS in that comparison.
Maybe peer pressure is a good thing
If you’re new to programming, you might wonder why Linux is such a big deal among programmers. There are reasons that Linux is so widely used in development, as you’ve seen. If you’re halfway serious about coding, you should get comfortable with Linux sooner rather than later.
