If you call that a "badly-designed system" then where the heck does Windows end up in that equation?
Honestly? People who are still flogging the "LOL WinBlow$ BSOD LOL Micro$shaft!" mantra haven't done any serious reevaluation since the days of 95 or Me. 2000 and XP are perfectly reasonable, stable systems with a coherent, modern design that's carefully relegated legacy DOS scariness to emulated support. Vista had plenty of problems, but 7 is even more generally well-regarded than XP (though I prefer XP myself.)
Whereas Linux piles framework after framework after framework onto the system in an attempt to build a modern desktop OS out of an architecture designed to drive VT-100s from PDP-11s...
There are some major bulletin-points for Linux (or any other POSIX compliant Unix clone, for that matter) and against Windows.
1. Performance
Every system I've used Linux on has been either only as fast as or noticeably slower than an appropriately-configured Windows/OSX install. Of course, zealots will bleat about this being the fault of proprietary drivers and how it's
your problem for not using open hardware and conveniently ignore how they told you that Linux will make sweet wizardly love to all of your hardware no matter how old or obscure...
2. Ease of use (once you've figured everything out, it's easier to fix basically everything. Including situations in which Windows would just throw nonsensical walls of text at you).
This is true if, by "once you've figured everything out," we mean "once you've memorized
The Design and Implementation of the 4.4 BSD Operating System" or something equivalent. In any other case:
Bull. Shıt. Fixing Linux involves anything from posting on forums asking for help from the much-lauded and oh-so-helpful Linux user community (standard answers: "works for
me," "you don't need this broken feature," "this bug was already logged in 1996, please add relevant details to the ticket and wait for a fix," or the ever-popular "you have the source, fix it yourself!") to chasing includes from one /etc shell script to the next looking for any string even vaguely related to the error.
3. An independent set of tools (no need to install or update stuff you'll never even use. Windows is still plain silly, in comparison. Just today, I was required to update Internet Explorer because someone thought it was smart to base his online client on calls specific to this monstrosity).
No need to install or update stuff you'll never even use! You know, like DBus, or PulseAudio, or grandomcryptonerdwanklibrary-effthensa or any of the zillion other packages that are required to install basically any Linux software, from text editors to web browsers, that's been around long enough to attract a dozen developers who each pile on every feature
they think the software should have, no matter how esoteric.
4. Customizability of both, the user interface and the kernel.
Yes, because what I
really want to do on a computer I just want to be able to do stuff on is
rebuild the damn kernel.UI customization, on the other hand, would be great -
if it were in any way consistent across any set of programs outside of the megalithic KDE-type desktop application suites (and those, of course, are the absolute worse offenders on point #3.)
5. A helpful community of people who know exactly what they're doing.
A community of people who can't be assed to post meaningful information, suggest you "RTFM" no matter what your problem is, and make fun of you for not having memorized the source code. Yes, very very helpful folks.
6. A very compatible toolchain for software developers.
A very compatible toolchain, unless of course you want to do something
crazy like run a GCC 2-built binary on an OS that expects binaries built with GCC
4. That's just
crazy talk, man!