They aren’t doing it altruistically, they are doing it to help their bottom line.
But Microsoft worshipping at the alter of backwards compatibility has caused them to move at a glacial pace compared to Apple.
Apple not worshipping at the same alter allowed it to remove 32 bit support from the OS and actual processor which meant:
- duplicate versions of shared libraries weren’t taking up RAM or storage which were both at a premium on mobile devices that have operating systems that don’t support swap
- allowed then to have faster, smaller, more energy efficient processors that allowed them to ship phones where their cheapest phones are still two years ahead in terms of performance than competitors most expensive phones
- the same thing above means that MacBooks can have 20 hours of battery life, don’t sound like a 747 when you open 4 Chrome tabs and don’t run hot.
Microsoft completely missed mobile and their ARM laptops are so crappy that it’s faster to run x86 Windows apps running the ARM version of Windows in a VM on a Mac than running on one of the few ARM Windows computers.
All engineering choices have trade offs. Because of backwards compatibility, there are almost a dozen ways to represent a string in C depending on which API you call
https://learn.microsoft.com/en-us/cpp/text/how-to-convert-be...
This by itself has caused security issues over the years.