Hacker News new | ask | show | jobs
by thought_alarm 5584 days ago
My first Mac was an iBook G4 running OS X 10.3, and I was marvelled by the fact that I could run software written in the 80s on a brand new 2005 laptop out of the box.

I'm not sure where Apple got this reputation for poor backward compatibility. They've jumped platforms multiple times and have gone to heroic lengths to preserve backward compatibility as well as cross-platform and cross-architecture compatibility.

That said, the removal of Rosetta support seems uncharacteristically premature for Apple.

1 comments

They probably have data on how often Rosetta was downloaded for Snow Leopard to justify the decision.

Apple does go through heroic lengths to preserve backward compatibility, but only for as long as it makes sense. If the backwards compatibility is going to harm moving the OS forward, then they are prepared to drop it, as in this case. Microsoft has always been too afraid to drop backwards compatibility (mostly because as soon as they do, many users will probably jump switch to Mac OS if they are forced to upgrade everything anyway), forcing them to remain stuck with legacy Windows code while Apple has continued to push forward. The jump from Mac OS 9 to OS X was a huge one that Microsoft still hasn't been able to take, even with Windows 7.

>"Apple does go through heroic lengths to preserve backward compatibility

Hardly. They could easily provide backward compatibility if desktop versions of OSX were easily virtualized and doing so officialy supported - which is the primary route by which Microsoft has provided backward compatibility (i.e code dependent on 16 bit libraries under x64 and legacy applications under Vista and 7).

Microsoft is virtualising Windows XP on top of Windows 7 on the x86 platform. That is for their XP mode that is available in Windows 7.

Microsoft in Windows 7 for legacy applications allow the users to select a target OS, at that point it is not virtualising that OS but having certain system calls act like they would in those older versions of Windows. As far as I am aware as a developer nothing gets "virtualised", it is a compatibility shim. See this wikipedia article:

http://en.wikipedia.org/wiki/Windows_on_Windows

This is how Windows provided support for 16 bit on Windows 32 bit, and how Windows provides support for 32 bit on Windows 64. Clever piece of code.

What you are suggesting is almost impossible on Mac OS X without also emulating an entire different instruction set ALA qemu. Running OS9 on x86 just isn't in the cards, Rosetta provided support for PowerPC on x86, and Apple apparently has looked at the download stats for Rosetta and figured it was time to let it go. Most apps have been PowerPC + Intel for a long time now.

Until about 2006 I could run programs written for the 68000 under System 7 on my Mac OS X machine. That's fairly heroic.