Windows was designed around binary distribution. Back in the 80s Microsoft were the pioneers of this business model: put some software on a CD, add a manual, box it, shrink wrap it and sell it for $$$! Windows still does this well — you can often find a program from 30 years ago that still works mostly OK.
Unix-like systems predate that model and are designed around source code distribution. You can download some source from way way back (I still use code I wrote in the early 90s), type `./configure && make && make install` and there’s a good chance it’ll work.
Neither is much good at the other. Binary distribution is often a PITA on unix systems, and building some big pile of source you got from somewhere is often impossible on Windows.
The upshot is that they suit different markets. Users generally prefer precompiled programs (obviously), but researchers and developers will mostly prefer a source-based system, especially if they are collaborating on something and want to swap code back and forth with colleagues.
There’s been an interesting shift in computing over the last 10 or 15 years with the absolute dominance of the interwebs. These days, the idea of buying shrink-wrapped software on a CD in a store seems crazy, and almost everything is downloaded, and often “compiled”, on the target machine. The thing that propelled Windows to dominance has become irrelevant, and the strengths of *nix, especially the better technical underpinnings and the lack of 40 years of binary compatibility baggage, seem much more appealing. There’s a reason (almost) no new platforms are based on Windows.
There is a few terminology moments that people frequently confuse.
Unix is practially dead right now. You might think of Linux, which was kind of an open-source experiment to make compatible OS and it eventually replaced paid Unix OSes. UNIX is practically dead in 2023.
Then there is POSIX, which is a standard how to make OS so software would be compatible. All OSes (Linux, MacOS and Windows) are kind of POSIX-compatible, but in practice there is enough quirks and bugs in each of them, so people never wrote “POSIX software”, only “Linux software” or “BSD software”. Microsoft decided to drop their POSIX layer a few years ago as it was impractical to maintain. It’s still alive in theory, but in practice people write targeting specific OSes, even when they think they don’t.
With that out of the way, why would you prefer one OS over another?
For once, it’s software that you need to use. It’s where Windows is kind of a king, but MacOS has a few exclusives as well, especially in graphics design.
Then there is price. Linux is free. Windows is not. That’s one of the big reasons why a lot of servers use Linux, as you pay only for hardware when you need to scale.
Then there is “religion” – Linux is “free” as in you can build and modify it yourself, you have full access to kernel source code, and to a lot of drivers. This is partially a lie, as some hardware requires closed-source drivers and some software (e.g. Steam) is closed-source, but the spirit is there. With outher OSes you download a black box of code and you have no legal or very complex practical way of tinkering with out outside of what developer allowed you to do.
Then there are personal preferences, and we’re entering very opinionated territory here – as people will just throw you their preferences and threat them as absolute truth.
You’re probably thinking of Linux not UNIX. One reason is that Linux lets you do whatever the fuck you want to. You’re the boss. Windows tries to keep you on the straight and narrow a lot more. That’s great if you are doing straight and narrow stuff. Using Word, PowerPoint, Excel, Chrome…
Computer people do a lot more weird things on their computers. If you’re working on networks, you can set up weird networky stuff on Linux. You can make your computer simulate a hundred computers. You can make your computer simulate the Internet. You can redirect your internet connection through your Linux computer and [turn all the pictures upside down](https://www.ex-parrot.com/pete/upside-down-ternet.html) – well you could do that 20 years ago, before everything was secure. If you’re working on big databases, you can group together your hard drives or split them. You can tune the hard drive caches, reserve memory for them, or limit the memory. You can use unusual kinds of formatting. If you’re working on operating systems, you can access a .iso file or a disk image file directly without burning it to a CD or a hard disk. You can jail a program inside the disk image file so it thinks the file is your real hard disk. All weird stuff you can’t really do on Windows, or only with difficulty.
Or if you just want to use a few apps, Linux is also popular because it’s free. Chrome works just fine on Linux so why spend another $139.99 with Microsoft? Word and Excel don’t, but light users can use LibreOffice. Even Steam works on Linux nowadays.
Outside of very specialized uses there is no advantage to UNIX, you may be mixing up UNIX with Unix-like operating systems. That ecosystem is very rich with software and compatibility, if you have a need there is a *nix that will fill it, mostly at no cost to you.
That is the single best aspect of Linux, it has a massive amount of support and you can run all sorts of software on it. Most enterprise firewalls are just Linux servers that get put onto commodity servers with some vendor’s spray-paint on it. You just won’t use Windows for that application. AWS is big, right? You have heard a lot about it, underpinning all of AWS services are Linux operating systems. An EC2 instance (this is getting into the weeds) is just a virtual machine running on Linux, you could lab something very similar in an afternoon. That is not something you are likely to do with Windows, since you have to pay Microsoft for every 4 processor cores or something.
I argue, having used the big three (Mac, Linux, Windows) for nearing 20 years, that Windows is just fine as a desktop operating system, and it is even pretty good as a general use server. If the person implementing it is a professional, Windows works great. If the person implementing it is a lazy jerk, Linux works like garbage. Pick the right tool for the job and use it correctly.
Well, for one thing, you don’t have to go through your Linux or MacOS and manually turn off all the default advertising “features” that Windows has.
I use Windows and MacOS professionally, and I have used various flavors of Linux professionally in the past.
For my own personal use, I prefer MacOS. I’m doing graphics and illustration. Mac is becoming more and more of a walled garden, software wise, but in practical terms that’s generally ok with me. I also have an iPad and iPhone and all my devices work really well together. They’ve got that pretty well nailed.
When I’m doing programming work, I also *prefer* MacOS, but arguments can made for developing on whatever it is you’re going to be deploying on in production and that’s usually some flavor of Linux. My friends who get into hacking their IoT devices enjoy Linux, and, more to the point Android. A big advantage of Linux and Android is they let you take off the nanny controls. If you want to install untrusted software, go nuts. They won’t stop you.
As far as I’m concerned, Windows 11 can die in a fire and so can everyone involved with it. I’ve never been so offended by a user experience in my life.
ETA: typos
From an industrial, commercial, and ‘mission critical’ standpoint unix like operating systems are extremely stable. At least before the early 2000’s, industrial type distributed control systems that used an OS have been based in unix type operating systems. Old school Westinghouse distributed processing hardware used Solaris which is unix like. These days windows can be found in industrial control environments but back in the day it would have been unix. Certain types of operating systems known as ‘real time operating systems’ are usually unix like. Redhawk linux is an example of a real time OS.
People like putting linux variants on their PC’s because it is open source and free to use as well as modify. Not all flavors of linux/unix are free though. Redhawk is definitely not free.
Latest Answers