But Microsoft then throws a bunch of stupid crap on top of it like Candy Crush ads for a piece of software that costs $200 and kinda ruins it. Or with all the deep hooks for Windows Defender & friends that just cripple process launching & file creation performance.
Can't the same be said with Linux too? Major distros has Linux with KVM kernel module built-in. I never had to do anything rocket science to run KVM, for example.
I use it to model and test code that will take hours to fold into a build for our embedded target. On the last feature I completed, I wrote 2500 lines of pthread / Unix domain socket server code, and it ran on my WSL/Ubuntu target with only lightweight text file based shims to replace drivers on the embedded target. When I slid it over into the embedded build flow, it ran on the first try, no changes.
Compiled as a unit test harness in about 3 seconds on my WSL instance. Our full embedded target takes 30 minutes to build. So the WSL/Ubuntu instance is a huge time saver.
Linux is a different and somewhat distant version of UNIX.
I think, though, I've come to realize why: backwards compatibility. I've seen videos where people have installed Windows 3.1 and then upgraded the OS from there and pretty much everything continues to work. I think in one video I saw, Quake or Doom stopped working after one upgrade (probably Vista) and then started working again after a patch release or something.
I have to hand it to Microsoft that they honor backwards compatibility as well as they do. However, at some point, you have to just make a clean break. You have to acknowledge that what you have is bad and broken and should no longer exist in this world. Microsoft finally did just that with Internet Explorer and then (to a lesser degree) with replacing Edge's rendering engine.
For Apple, backwards compatibility isn't a sacred cow. They're more than willing to throw something out that is old and/or doesn't work as well as it should. They handle breaking that fairly well, all things considered. They give plenty of notice (sometimes not as much as they probably should have -- https://arstechnica.com/gadgets/2018/01/apple-prepares-macos...) so average and power users alike have the time to transition. Sure, it's never as smooth as we would like but what transition ever is? Still, Apple users don't have to deal with things like Windows users do.
Microsoft needs to start making a clean cut with Windows, probably starting with the Explorer shell. It's old. It's obnoxious. It actively gets in the way and makes me less productive. They can do this if they just put their shoulders into it a little. (Christ almighty why does the scroll bar have to jump back to where it was if my mouse veers away from while scrolling? "Because that's how we've always done it!" is easily the worst answer to any question ever asked)
Also, for the love of all that is holy they need to reverse the decision to have ads built into the OS. How can they not see how bad an ad-centric model is becoming for Google and Facebook? Having a whole OS where the user is the product? That's a privacy nightmare that makes Google and Facebook look like little league.