On 7 and 8, Windows was generally quite stable for me. I can count on one hand the number of BSODs I got on those two OSs (excluding failing hardware).
Somehow, 10 seemed to introduce updates that would cause frequent BSODs until I uninstalled them at least twice a year. Reinstalling the updates usually worked, except when it didn’t, which meant all I could do was boot an Ubuntu USB, make a VHD of the drive, and reinstall Windows. This was actually what made me cave and go back to Linux - I was tired of reinstalling Windows.
The forced updates were also annoying, although I did find a good solution to it, and I recommend it to anyone using 10: Reboot-Blocker - Ulrich Decker Software
The nagging to use Edge, etc is pretty terrible, and it has led to more than a few calls from my mom. I’m considering recommending a Mac for her next computer just so I don’t have to deal with “Windows is saying I need to use Edge because Chrome is insecure? Has it been hacked?”
But perhaps my greatest hatred of Windows is a fairly minor one, but it shows how little MS cares about end users.
Have you ever tried to rename, move, or delete a file, only to be told the file is in use?
Have you then gone into Process Explorer, only to find that a process never released it (the process might no longer be running, even), and you can either force-release it from there or reboot?
I’d bet that every Windows user has encountered this error at some point, but maybe 2% have actually used Process Explorer to release the handle.
Anyway, I have an old computer running Mac OS 9 (not OS X - OS 9; it came out in 1999). On classic Mac OS, you can rename, move, and delete files in use by applications, and it’s perfectly fine. You can straight up delete running programs and it won’t break anything. That is unthinkable on Windows, yet Apple has had this figured out for over two decades (probably even longer but I don’t have any older Macs to test that on), and I can do the same on Linux.
Imagine if Microsoft cared enough to fix this longstanding annoyance.
Sadly, it will never happen. Not just because of backwards compatibility, but also because it’s something that isn’t causing them to lose money, much the same way that MS did not care about security until it became a legitimate threat to the business in the XP days. If they did a greenfield OS, I guarantee they wouldn’t bother addressing this unless they based it off of Linux or another OS that has saner file handling.
After going back to Linux, it’s amazing just how much I was missing out on. And thanks to Valve’s efforts with Proton, all the games I regularly play run just fine.
Edit: From what I’ve read about MS, a lot of potential improvements to their products just never happen because teams are reluctant to take on any issues not prioritized by their managers. What this means is that, while in Linux land minor performance improvements are celebrated, the only chance performance improvements have to get accepted at MS is if it’s huge, especially due to the way incentives are structured. Code that you don’t maintain is difficult to have patches accepted for at MS, which really quashes any attempts at improving things for the sake of improving things.
This is why you see things like O(n^2), again, now in WMI | Random ASCII – tech blog of Bruce Dawson
(The bug the author filed was closed by MS basically saying “you’re holding it wrong” but unlike Apple, they didn’t even have the courtesy to say how to use it properly…)