Darvond: You forgot about the Intel to M2 architecture change, which is from x86 to ARM.
No I didn't, it was clearly mentioned, and like I said, it's the ONLY architecture change they've done in the last 18 years:
dangaz84: was the transition to intel in 2005, and then ANOTHER 15 years before the transition to ARM
dangaz84: we're 2.5 years into arm64 macs
Darvond: Do you really think Apple is going to keep that Rosetta bridge extended for long?
No, but they don't need to do it forever. Any dev can spend 5 seconds switching targets and recompile, the fat binaries will not disappear, they've existed for 22 years so you can make the same app run on one or more architectures natively to keep up support for older systems, and there is dwindling need for rosetta once most apps move over, they'll keep it until it starts costing them too much dev time keeping up with OS changes.
PowerPC on x86 Rosetta should have continued support a little longer than it did I think, but in the end any actively developed software moved over, often continuing support for YEARS using fat binaries compiled for both platforms, and anything popular that had stopped development and didn't support the new platform would be replaced to fill the need. It might not be ideal but progress often means breaking compatibility.
There are very often compatibility issues without major arch changes under windows and linux also with older binaries, over the same time period you gave, PC users lost direct compatibility for running MS-DOS apps, 16-bit (pre-win95) windows apps, apps that relied on things that existed and were later changed in variations of OS between 95, 98, ME, the change to NT-based kernels in normal windows from win2000 caused massive compatibility issues, XP, 7, 8, 8.1, 10 and 11, each time breaking compatibility with some or many earlier apps and drivers, requiring people to run apps like dosbox or VMs running older versions of windows to play their very old games or some other software.
Under linux there are compatibility issues very frequently with dynamically linked executables ending up with dependency issues when some libraries update and others don't and getting to where they are incompatible with versions available etc. Yes, most programs under linux are open source and can just be recompiled but those same programs are still open source when you are on mac and can simply be recompiled also. Try to run a particularly old dynamically linked linux binary with even fairly basic dependencies on a current distro and see how well that goes. There's no cross-architecture execution system in linux so you cannot run a linux binary for compiled for a different architecture at all without running an emulator and an OS for that architecture in that emulator.
At least with fat binaries and universal apps devs can support the latest platform and can choose to support older ones at the same time for as long as they like with native code for more than one arch. That doesn't help people who upgraded run older software when rosetta gets killed eventually but it at least gives the option of easily supporting people who can't afford to upgrade yet which is good.
I would have loved it if the original rosetta continued on forever and that the current one would too, but at some point it becomes harder to justify for them, just as maintaining full backwards compatibility didn't happen anywhere else even between software revisions without major architecture changes. I use all 3 of these platforms, and linux on multiple architectures for what works best for me on each of them and understand that progress requires sometimes compatibility breaking changes eventually, on any of them.