DEV Community

Cover image for Part 1: Why should developers use Linux?
Proman4713
Proman4713

Posted on

Part 1: Why should developers use Linux?

Note: This is the first part of an entire series on Linux and how to comfortably move to it, as well as things I have not been told when first moving to Linux.


I've been using Windows for my whole life, and so have my parents, and my brothers, and my friends, and my family. Literally everyone uses Windows, and while this is not particularly a bad thing, it's a little bit of a pity...

Windows is a "good" operating system and all, but it always had some issues that will never get fixed because Microsoft's goals are not targeted at such issues. Especially in the recent times, people have been complaining about Windows 11 causing performance issues on their old hardware, about having to pay for the Windows license or pirate it (both are annoying tasks for most), and more!
And with Windows 10's End Of Life coming closer, people have been looking for an alternative that can run on their old hardware!

The only other two options are MacOS and Linux, and for most people who don't want to get a new PC or want a free solution, Linux is the answer.

Now, when it comes to Linux, many people have doubts because they haven't ever used or seen it before. Most think that Linux would probably be a messy terminal window that can only be controlled through commands!

While this is far from the truth, especially considering that there is no one "Linux", I'm here to introduce the power of Linux to developers, so now that you understand the context behind this series, let's dive in:

"Which distro should I use?"

This is a question that I see stump many people due to the vast number of options, but before we ask that question, we should first focus on today's question: "Is Linux even for me?"

Linux "distros", or distributions, are simply different builds (with their own UI, desktop environment, shell tools, etc) of the same Linux kernel. Think of distros like hundreds of books in a giant library, everyone has a book in there that suits them!

Linux Mint is supposed to resemble Windows a lot, while Ubuntu resembles MacOS but can very easily be customized to look like Windows too... There are many options, but overall, any Linux distro has many reasons for you to use them instead of your current OS...

Performance

After specific customizations depending on your distro, Linux is much more performant than Windows and MacOS, especially when it comes to development (specific benchmarks and statistics will be in the fifth article of the series).

FOSS

Linux is "Free and Open-Source Software", there is no price tag on anything that you need to use Linux!

Customizability

Linux is much more customizable than Windows and MacOS combined. From the fact that there's a distro for every need to the fact that you can easily change your system boot scripts, Windows and MacOS have never reached the level of customization that Linux has with so much accessibility!

If there's anything in your Linux distro that feels — "odd" — because it's dramatically different from what you have in your current OS, there's always (and I mean always) a way to change it.

Package sizes

While Windows and MacOS come preinstalled with all the low-level binaries you could imagine even if no one ever uses them, most Linux distros only come with the "dependencies" that just give you a good experience, if any application or script needs any more binaries it can just use them as dependencies and they will be installed just for this specific script. This leads to smaller disk space taken after you install a fresh installation of a Linux distro, and mostly smaller space needed for a specific program to install (This largely depends on the distro of course, but this is true for most distros after you customize them to boost their experience, which is going to be explained in the third article of this series)

Bloat-free

Windows is full of bloatware, a simple example is when your PC is freezing and the top bar of apps (as well as the alt+tab UI) switch to the Windows 7 UI, can anyone tell me what this thing is doing there?

Linux is relatively clean of bloat, there are no huge useless chunks of code or code from older versions on most Linux distros. MacOS has done a little better job at decreasing bloatware than Windows, but it's not lightweight by any means.

Summary

Windows is fine for most people, but for people who want a truly free experience with full control over their computers, Linux is the better choice.
Even though Windows occupies more than 70% of the OS market, Linux still has good support for the services you need!
Linux is free, open source, lightweight, performant, and customizable. Which means you'll most likely find a Linux distribution that fits your needs and wants.

Even though Linux technically has less support than that of Windows and MacOS, the only way more support and products will be brought to it is if more people use it, which means more companies and projects would need to put Linux into account!

And that's it for today everyone, next article will be about which distro you should choose based on your needs.

And as always, Happy Hacking!

Top comments (25)

Collapse
 
jacobsternx profile image
Jacob Stern • Edited

... Linux is much more performant than Windows and MacOS, especially when it comes to development ...

As a longtime Linux user, freedom is not free, and liberty comes at a price. It's not only the operating system financial cost, but also system drivers, peripherals, utilities, packaged software, all of their licenses, learning curve, maintenance, and personal worth that determine value, plus macOS is UNIX, meaning macOS and Linux are kin, and Apple's powerful M series cpu's are now in their 4th season. Further, mac is a vertically integrated product rather than an operating system license, so at least with macOS this comparison seems inapt.

But, go Linux! :)

Collapse
 
proman4713 profile image
Proman4713

MacOS is similar to Linux, especially in terms of the CLI. And while MacOS is based on UNIX, Linux is generally considered more performant, especially with the same theoretical PC specs (not with an advantage for Macbooks over other PCs). I found that my PC became much faster after installing Ubuntu and making some customizations [that will be listed in an upcoming article]. Despite the learning curve, I believe Linux is well worth it!

Collapse
 
jacobsternx profile image
Jacob Stern

As objective a resource I could find, I asked perplexity.ai: If price were no object, would software developers more likely prefer using linux or mac?

Answer: If price were no object, software developers would likely prefer using Mac over Linux for several reasons:

  1. Hardware-software integration: Macs offer seamless integration between hardware and software, providing a highly optimized and stable development environment.
  2. User experience: macOS provides a polished, user-friendly interface that "just works," reducing the time spent on system configuration and maintenance.
  3. Unix-based architecture: macOS offers a Unix-based system with a POSIX-compliant command-line interface, similar to Linux, making it familiar for developers who appreciate Unix-like environments.
  4. Development tools: Macs come with a rich ecosystem of developer tools, including Xcode for native Apple development, and support for various programming languages out of the box.
  5. Cross-platform development: macOS allows developers to work on projects for multiple platforms, including iOS, macOS, and web applications, all on one machine.
  6. Compatibility and testing: Macs enable developers to test their applications on Safari, Chrome, and Firefox, covering major browser compatibility issues.
  7. Mobile development: For cross-platform mobile development, Macs are essential as they can run both Android Studio and Xcode, allowing developers to build for both iOS and Android.
  8. Stability and performance: macOS is known for its stability and performance, especially with the transition to Apple Silicon, which has improved efficiency and speed.
  9. Professional support: Apple provides regular updates and professional support, which can be crucial for enterprise environments.

While Linux offers advantages like open-source flexibility, customization, and a wider range of hardware options, many developers would likely choose Mac if cost wasn't a factor. The combination of a Unix-based system, polished user experience, and seamless integration with Apple's ecosystem makes it an attractive option for software development.

Thread Thread
 
proman4713 profile image
Proman4713

Yes, but that's the point: Cost is a factor. As I said in the article:

The only other two options are MacOS and Linux, and for most people who don't want to get a new PC or want a free solution, Linux is the answer.

I love MacOS, I've tried it on my friends' computers but I'd also love it to be more accessible and more lightweight!

Thread Thread
 
jacobsternx profile image
Jacob Stern

All qualifications aside, if I'm reading this correctly, you're implying macOS is a preferable development environment to Linux. We agree on this.

I've always been OS-agnostic; I've never been an evangelist for Apple, Microsoft, Linux, or others (Atari, DEC, NeXT, OS/2, Sun/Oracle...), even if I've enjoyed their products. I will add this tho: A friend on social media once commented it's amazing how quickly after moving to a new city that it becomes a part of you, and to me that applies to computing environments.

Computing has come a long ways, and computing resources (storage, memory, graphics, networking) are now a better value than they've ever been, and performance has roughly followed Moore's law for decades. Maybe you're different, but every Open Source Software advocate I've known--and there've been more than a few, uses proprietary smartphones; point being that you've probably spent a fair sum on proprietary operating systems at the same time you're talking badly about them. Even Linus Torvalds, inventor of the Linux kernel, uses a MacBook Air M2 for ARM64 architecture compiling. Every computer has a price, even if it was given, and there's no pretending that that capitalism doesn't dictate our consumer choices.

Windows has improved a lot on the software side. Security, reliability, compatibility, price, and you can usually buy an OEM Windows license on eBay very reasonably. Apple doesn't sell macOS. Apple sells computers, of which macOS is one component. The problem with comparing Linux to macOS is not value, but rather than macOS is not a product.

A couple years ago I bought the most affordable and lowest spec-ed M1 macbook I could find on a Black Friday sale, which was pretty affordable. In terms of performance, it's far exceeded my expectations, but it's value is not based solely on benchmarks. Most software developers are looking at that list above. Am I coding, or spending time configuring a tiling/3D window manager, or install a requirement for a development environment and finding it's incompatible, or requires reconfiguration, or another package manager, or any number of things. macOS developers usually just code. Also, part of the value proposition of a mac is the build quality, which is impossible to compare with Linux because Linux is an operating system rather than a retail computer.

This is why I wrote the comparison of Linux vs mac is inapt. Your thesis is too coarse.

Thread Thread
 
proman4713 profile image
Proman4713

I don't consider myself an "Open Source advocate" since I do use many proprietary products. But I talk about what the common guy can use. And it's not just macOS and Linux, I've spent more than half of my life using Windows and the countless issues (that most Windows users aren't aware of since they're used to them, or at least, after the issue is resolved they forget about it) that come with it!

I once had more than 20GB of disk space available in my 200GB hard drive (60GB of that space taken is just for windows), when I started my computer it gave me a BSOD with such a vague error that describes my disk as offline or non-bootable or something. I used diskpart to see my disk and turns out that Windows switched the boot drive to another drive I had on the PC because the 20GB+ space available for it was too little!

And there were many issues like that, they didn't come often, but when they came, they wasted hours and days of my time. I could switch to a MacBook but I can't afford the price tag. So my only solution was Linux. On Linux, such problems mostly only come due to mistakes you have made (whether intentionally or accidentally).

So I do agree with you, that if you have enough money and disk space, macOS wins. But that's the point: If you have enough money and disk space, which many people don't have both. You need to consider all factors at once, not some of them. Part of why I could prefer MacOS over Linux is that MacOS is a much more restricted operating system since it's part of the Apple Ecosystem and only works with compatible products.

Even as a non-macOS user, I know people who use MacOS and their top complaint is that it doesn't work with most products since they don't "fit apple's standards", which is a phrase they use to mock this super incompatibility. One of them, a PhD, had to send their presentations to their colleagues since their MacBook just didn't work with the cable that connected to the pointer (or whatever it's called) that's used to control the slideshow. They bought different cables and trying until one of them randomly worked.

MacBooks are the most incompatible piece of Hardware I've used. So for those wanting to stay with their normal PCs but not the Windows operating system, it's Linux.

However, I do not consider this argument worth it, since after all, everyone chooses what fits them most. I prefer Linux, and you prefer macOS, we both live our lives according to our preferences.

Thread Thread
 
jacobsternx profile image
Jacob Stern

While Linux uses a swap partition, Windows by default uses shadow RAM on main storage, meaning the Windows system uses available storage for it's own performance and stability, so if your storage is ~ 90% full, that can be an issue. While it's true that Linux operates with few constraints, some constraints are for self-preservation, as some will expect to be able to use 100% of their disk capacity with no consequences. On Linux with sudo, deleting the kernel itself is trivial, while commercial operating systems like Windows and mac do more hand-holding, and self-preservation is a good thing. Everyone makes a mistake at some point.

My macbook cost US$600, came with 256GB storage, of which I'm using half, although I have VMware Pro with Windows 11 Arm64 beta installed for testing, which uses a 64GB disk image--and runs at near native performance--both free. I have 11 USB devices connected, including multiple keyboards, multiple mice, storage, monitor, and 0 Apple cables or devices, plus several bluetooth devices including 2 pair of headphones. I've never used the Apple charger, rather getting power from my USB monitor. You might mention to your colleague that there are now several specs for USB cables, and it doesn't need to be Apple, but some USB devices require different USB cable specs. I can't speak to prior to 4 years ago when Apple started manufacturing their own M series cpu's, but since Apple created their system on a chip where memory, storage, and graphics are integrated onto the cpu, performance is solid, and 4 years is long enough to be an established baseline. Also, my macbook will run for 20 hours, which is highly efficient, and it has no fan so it's silent. I've even run it outdoors in 110+°F with no operational anomaly, and this is the lowest specced model. mac's build quality is also a perk for travel, which is becoming more common.

I do like Linux, which has improved so much that installation is trivial, although I'd usually suggest a virtual machine over dual-booting, and for dated PC hardware post Windows 10 end-of-life, Linux is definitely a solution. However, developers will likely find mac a more pleasurable coding environment than Linux for those 9 reasons Perplexity.ai summarized, and buying a macbook doesn't mean you have to take out a second mortgage, plus on M series cpu's, meaning any mac produced in the last 4 years, performance is a non-issue. The good thing about Dev is people can see all the information and decide what's best for themselves!

Thread Thread
 
yusuf_alaziz profile image
Yusuf Al-Aziz

Brainwashed apple fanboy.
discuss.kde.org/t/kio-gdrive-not-w...

Thread Thread
 
proman4713 profile image
Proman4713

Yeah exactly, Dev has all the information available for anyone to take their pick!

But the M chips and stuff are all hardware capabilities, my performance comparison was in a hypothetical case where all three operating systems have the same specs (on the same motherboard), Linux would probably win.

While I do agree that Linux's 100% freedom can be system-breaking sometimes (e.g. when I first installed Ubuntu in dual boot, I accidentally uninstalled python instead of upgrading it, which led to me having to reinstall the system after further breaks), some people just prefer freedom. And having a swap partition is more transparent than using a form of swap are from the current disk space displayed as available to the user since it's clear what's for you and what's for the system. A simple tool like baobab (explained in the third article of this series) can additionally tell you how your taken disk space is distributed across your entire filesystem!

I have to say it was nice talking to you, I would conclude this discussion with saying that there's no one-size-fits-all OS that everyone should use. It all depends on various personal and technical aspects that vary from person to person!

Thread Thread
 
proman4713 profile image
Proman4713 • Edited

I think they're just mixing up which factors we're comparing, nothing more.

Collapse
 
martinbaun profile image
Martin Baun

Current Mac user here, but i used Linux for over a decade. Admittedly, the ability to theme, change, or modify Linux is limited only by your experience, skill, or imagination. You can make Linux truly unique to you if that's what you want, go as wild as you want! Its pretty awesome, kinda miss it :)
Great post!

Collapse
 
proman4713 profile image
Proman4713 • Edited

What made you switch to MacOS?

Collapse
 
martinbaun profile image
Martin Baun

I had heard great things about it, had moved to a new country after being bombed in Ukraine, and looked forward to a new beginning. I might turn back to Linux to be very honest haha :)

Thread Thread
 
proman4713 profile image
Proman4713

Yeah MacOS is great! It's so similar to Linux, it's based on UNIX, and it's much smoother than Windows. But I personally prefer Linux for my day-to-day use...

Thread Thread
 
martinbaun profile image
Martin Baun

Same here, hah :)

Collapse
 
bobbyiliev profile image
Bobby Iliev

Great post! Well done!

I recently watch a good video that covers the Linux basics that users should know which might be helpful to anyone just getting started:

Collapse
 
proman4713 profile image
Proman4713

I am going to include so much stuff that will help newbies get started in the coming articles, including dual booting Ubuntu with Windows 10/11 without any data loss (as well as things you should look out for that I haven't been told when first moving to Ubuntu)

Collapse
 
simon_currie profile image
Simon Currie

I take issue with the idea that any legitimate developer couldn't figure out how to dual boot ubuntu and windows 10/11 without data loss without yet another article on this subject. I managed to install a dual boot of Mandrake in 2001 without losing any of my Windows XP data and I was 11 and that was the era of spinning HDDs that fragmented.

If you titled this article "Why the lay person should use linux" sure, but... anybody who actually earns a living developing software knows everything you wrote here, plus everything the rest of the series is going to say, plus some other stuff. If they're NOT using linux, they likely have a reason.

Thread Thread
 
proman4713 profile image
Proman4713

No, many developers don't use Linux just because it's unusual (or for other reasons I will discuss in the upcoming article). Also, there are some things other than data loss that I will talk about, if the whole topic is data loss then it wouldn't take a few lines to finish the whole article.
Peace!

Thread Thread
 
proman4713 profile image
Proman4713

Also, this article is for people who know nothing yet about Linux. Only the upcoming articles will be somewhat made for people who understand how Linux works.

It's a shame how many developers consider "those who don't know X" to not be developers. Whether that X is Linux, Typescript, C/C++, or whatever the trend is about, this is usually not a way to welcome new developers into this world!

Thread Thread
 
simon_currie profile image
Simon Currie

This article is on dev.To. You also don't actually address my comment, which is that any developer who earns a living developing software could figure this all out by doing what they've done to get to where they are in their career: Reading the docs.

Thread Thread
 
proman4713 profile image
Proman4713

An introductory article is not supposed to be someone who's already well inside their career, I thought that would be obvious?

Collapse
 
adriens profile image
adriens

Because...

Collapse
 
proman4713 profile image
Proman4713

Exactly, I can't figure out why so many large companies trusted their life with one Crowdstrike other than money. And if that singular company fails, all those other companies fail too. And therefore the BSOD.

Just imagine having the security and functionality of billions of PCs around the world, considering those of hospitals and police departments, on the shoulders of one company!

Collapse
 
adriens profile image
adriens

Just imagine having the security and functionality of billions of PCs around the world, considering those of hospitals and police departments, on the shoulders of one company!

Yup, totally insane... and making think about various dystopian novels 🤔

Some comments may only be visible to logged-in visitors. Sign in to view all comments.