In practice, there are only two operating systems today with any real traction : Unix (including Linux, BSD, Android, MacOS etc.) and Windows.
And from my point of view, Windows has two fundamental problems :
1) A lousy command-line terminal environment that
- a) doesn’t work in the “conventional” way that Unix terminals do;
- b) doesn’t have the comprehensive set of standard tools we’re used to;
- c) doesn’t have the piping model to plug together multiple small / independent tools to get work done.
(I know there’s “PowerShell” but this seems to an optional extra rather than part of the OS out of the box, so you might as well say Windows is Unix because of cygwin. )
2) Lousy multi-tasking. I’ve had Windows 7 freeze-up on me over a dozen times in the last week. I don’t even understand that. How can an operating system that’s been in development for over 30 years, by one the richest and most significant operating system companies on the planet, still have multi-tasking that’s so bad that errors in applications or drivers can bring down the entire machine and force a restart? Unix solved that problem in the 1970s, and Microsoft still can’t figure it out?
Being able to multi-task and not let rogue programs hurt everyone else is a basic requirement for an operating system.
Bonus : today as a Ubuntu (ie. Debian-family) user I find the Debian package manger model brilliant. Why would I want to waste my precious time figuring out how to install software except using apt-get. It’s fast, consistent, reliable and easily reversable. Plus pretty much every tool I could possibly want is already free-software, so I’m not hitting pay-walls, mazes of twisty advertising or other annoyances in order to get it. I just type one line in my terminal and I have what I need to keep working.