Sunday, June 12, 2005

Whither Classic?

Edit: I should have read Daring Fireball more closely. Classic is apparently dead in the water, according to both the Apple Universal Binary Guidelines and whatever sources JG has. Also, apologies to John Gruber for unintentially pilfering his blog's subtitle. I've changed mine to something interimish.

One serious implication for OS x86: Classic. Darwin's platform independent, and Rosetta is there to handle PPC code before handing it over to the Darwin/OS X API.

Classic involves 68K emulation, and up until now it's gotten a free ride because PPCs run 68K code faster than native. How's Classic going to work in Teh New Architecture?

Apple has three possibilities.
  1. Keep the compiled PPC emulation code in OS X as a legacy chunk, and let Rosetta translate PPC code emulating 68K code, praying we don't care about performance. Emulation inside translation; this is asking a lot of a system.
  2. Assume Apple licensed more than just an x86 translation library from Transitive, and OS x86's Classic mode uses direct 68K to x86 translation. Why shouldn't they? The challenge of emulating 68Ks is nowhere near the heavy lifting PPC emulation entails. Moreover, Classic under OS X is essentially two parts: CPU emulation and hooks to Carbon APIs. The Carbon APIs will still be there in OS x86, and until Apple gets their shit together enough to port the Finder to Cocoa, they don't have a choice. Yes, there'll be endianness issues, but at least they're consistently flipped.
  3. Apple tells everyone that five years of Classic support is long enough, and that their engineers canna poosh the warp core no moore, cap'n. Childhood's end.
I'll hope for #2. It would be a feather in Apple's cap to carry two OSes through the transition, and with the loss of 64-bit coding (for now) and AltiVec, jettisoning Classic seems like one more sad goodbye. Classic may be cruft, but it's an occasionally useful bit of cruft.

Sometimes, Steve, you gotta do something just because it's cool to be able to, and being able to sell potential switchers on a box that runs not just the last five years' worth of apps but the last ten or fifteen is damned sweet. No one much gives a damn how you do it.