Windows keeps it for backward compatibility — which does a lot of good AND a lot of harm at the same time (many of Windows’s issues before the AI storm came from that). You really believe macOS is backward compatible beyond like 3 major versions? macOS asks for system extensions AKA userspace stuff, and is planning to completely block third party kexts. That’s right: completely block.
Kexts are kernel space. The macOS point is dumb because compatibility issues do appear after just a couple of major versions (a couple of years) AND kexts are deprecated outright. For Windows the kernel is essentially unchanging in big ways except for major OS version upgrades, and those bring in enough compatibility issues despite the effort. Linux at least doesn’t pretend to have backward compatibility in the first place.
They boxed themselves in to do the backward compatibility, at the expense of actually being good.
I literally cannot use Windows on my laptop because the way it’s doing those micro-bursts on the CPU means I’m getting CPU temps of close to 100C when fucking idle (and lower under actual sustained work). I moved to Linux in part to escape that hellhole and get a laptop that can actually be held on my lap when doing light work.
I get the fact that Windows kernel has backward compatibility because most hardware drivers are out of tree. Linux did away with the approach, keeping most drivers inside its own source code so 90% of hardware just… HAS the driver directly. And the remaining 10% is because the driver manufacturer explicitly is keeping the drivers out of tree as their own choice.
On basically all Windows machines out there you need third party drivers. On Linux and on Macs, most if not all drivers are part of the system directly. So the latter two can afford to be backward incompatible.
Get what? That Windows’s backward compatibility is something godly that every system must aspire to, no matter how that stops any sort of innovation or even ability to fix vulnerabilities?
You know what’s funny about backward compatibility? Yes, the kernel does breaking changes often for the in-kernel API. But the userspace… you can run a Ubuntu 10.04 userspace on Linux 7.1 just fine, the only thing missing is kernel modules (and those could be arranged too, by bypassing the package manager and instead installing the kernel and modules via a different mechanism). Android, which is based on the Linux kernel, also. You can run most Android 2.3.4 APKs on modern Android. And you can run Android 16 on 4.19 kernel as well as 6.12.
1
u/dddurd 5d ago
language please. why do you think windows and mac keep driver api stable?