Apple has made Rosetta 2, one of the most impressive software/hardware mixture ever, and they can’t wait to get rid of it.
Microsoft will make a crappy conversion shim and keep it in their code forever. For. Ever.
Apple has made Rosetta 2, one of the most impressive software/hardware mixture ever, and they can’t wait to get rid of it.
Microsoft will make a crappy conversion shim and keep it in their code forever. For. Ever.
Apple developed the 68k emulator used in PowerPC Macs in-house, and never removed it.
Apple licensed Rosetta from Transitive at a time when they didn't have tens of Billions of dollars in cash lying around.
Rosetta 2 was developed in-house, but even if they were still paying a licensing fee every time they shipped a new OS version, it wouldn't even be a rounding error to their bottom line today.
Why would they be in any rush to remove Rosetta 2 at all?
Due to the belief that any backwards compatibility comes at the cost of a higher difficulty moving forwards, I suppose.
There will probably come a time in which a new feature will collide with this compatibility layer and I have little doubt that the compatibility layer will lose.
This is such a BS take, the nice thing with opensource is that you can go look at the commits that say remove windows 7 support from python. And pretty much anyone who isn't a child can see its less a technical move, and more political. Because out of a million line codebase those half dozen lines were causing so much grief.
Frankly, all this "we have to remove legacy ports" and "legacy code" is some kind of OCD levels of mental illness.
That you have to call this approach a mental illness is poor criticism.
Technical debt is when people make a mess, its perfectly possible to clean that mess without breaking ABIs. Particularly in OS's where the ABIs tend to be decoupled from the underlying code by abstraction layers. For example you can swap the filesystem in use and still maintain the behavior. Linux's syscall ABI has been basically static for decades, its only the userspace layers that don't try and adhear to those levels of compatibility.
PS: We like to give apple all this credit for having a "fast" machine, but the real question should be, if it can't solve the problem I have, does it matter how fast it is? Mac's for the vast majority of the people I see using them are basically trendy chromebooks, where the users are spending 99% of their time in safari. So its probably a good choice for apple if that is the user base they are interested in.
And it only works when your application doesn't have HW requirements that can no longer be met. Or the company in question just doesn't provide drivers anymore.
Frankly, the driver thing is somewhat understandable, but as you point out its easy to bolt software compatibility layers on, why the OS vendor can't manage to make it work well/transparently is a mystery.
macOS doesn’t ship a 32-bit version, because the 64-bit version on every platform is much faster and more secure, and shipping both would be twice the disk space.
(More secure because you can do so many tricks like PAC with those spare bits in every pointer.)