Pay no attention to the processor in the box
17 Jun 2005Last week, Apple made waves when it announced that future Macintosh models, beginning next year, will contain Intel processors just like other PCs. Some people have asked me what I think about this, so here goes:
The transition to Intel is going to be a great thing.
Now, before I continue: I really don’t much care for the Intel architecture. I am a True Believer in the RISC approach embodied in the PowerPC architecture. However, for reasons that should become clear as I continue, for most intents and purposes, the processor doesn’t matter.
the “new” technology
I started off working life as a NeXTStep developer. For those who don’t know, NeXTStep was a product of Steve Jobs’ other computer company, NeXT, the one he created during the “dark years” (ca 1985-1997) that he wasn’t with Apple. NeXT was a financial failure, but they created some great technology, both hardware and software. The software, in the form of the NeXTStep operating system and development environment, makes up the underpinnings of Mac OS X. I have always held the opinion that Mac OS X could more accurately be called “NeXTStep 5.0”.
Anyway, back in the early 90’s, NeXTStep ran only on NeXT’s own hardware, great beastly black boxes with Motorola 680×0 processors. The hardware was technologically similar to top-of-the-line Macs of that era, but typically with much larger screens, larger hard disks, more RAM, and a much higher price tag. In 1993, NeXT announced that they were getting out of the hardware business entirely, and were going to focus on the NeXTStep operating system, which they had secretly ported to… Intel! Does this sound familiar to anyone?
So what was a developer to do? Well, in most cases, they could simply compile their software for Intel by clicking a single checkbox in the NeXTStep IDE. The compiler would then compile the code for both platforms, and bundle them together into what could have been called a “universal binary” (again, does this sound familiar?). This would then run on both Motorola-based NeXT machines and Intel-based PCs.
Not content to stop there, NeXT also ported their operation system to run on Sun SPARC workstations and HP HP-RISC workstations. And as a developer, all you had to do was click on the checkboxes to enable those platforms, and off you went!
But could it really be that easy? Well, in a word: YES. If you didn’t do much low-level bit-flipping, it really was pretty much that easy. So much so that freeware developers routinely released “quad-fat applications” that ran on all four platforms, even if they never had access to one or more of the target platforms for testing. They’d just put it out there, say “email me if it doesn’t work right on your machine”, and call it a day.
Of course, there are applications that require low-level bit-flipping, but that can usually be done with per-platform compiler macros and what have you, so you can abstract that away and off you go.
So, we jump forward twelve years in time and arrive at last week. Apple announces technology that old NeXT nerds like me have always known they’ve had, and that we know works. Hell, even people who’ve been Apple nerds since 1997 or 1998 or so should remember that the early, pre-release “Rhapsody” versions of Mac OS X ran both on old Apple G3s and Intel PCs. So really, the technology is not new and has been obviously under the covers ever since Apple acquired NeXT, who nailed this a decade ago.
[ But of course, it wasn’t called that. It was called a “fat binary”. No one ever accused NeXT of being especially good at marketing.
hardware orphans
One concern I’ve heard thrown about is that PPC hardware will be “orphaned”. Although this will surely happen at some point, it’s still years away; everyone using current hardware will be able to use it several years into the future. Look at it this way:
- Currently, Mac OS X can run on every Mac released since 1998, from the very first bondi blue iMac all the way up the chain. This is millions of machines.
- The Intel version won’t be readily available until mid-2006 (Apple’s estimate) at the earliest. Many developers won’t bother shipping universal binaries until then.
- Intel won’t take over the whole line until at least late 2007 (Apple’s estimate) or, more likely, 2008.
- Therefore, Apple won’t be shipping all-Intel Macs until perhaps nearly three years from now. No developer in their right mind would ditch PPC support any time before that.
- Even when Macs are all-Intel, there will remain a huge PPC user community. Unless Mac sales go up dramatically after the Intel release (we can hope), it will take several years before the numbers of Intel Macs equal the number of PPC Macs. My guess, we’re talking at least 2010.
- Until the numbers of Intel Macs seriously overtake the number of PPC Macs, smart developers will support both platforms. So maybe 5 years from now we’ll start to see significant amounts of Intel-only software, but many developers will probably continue to ship universal binaries much longer than that, since they will keep access to the PPC users “for free”.
I believe that 5 years is a pretty good amount of time for people to think about buying some new hardware, so I really don’t think this is going to be too painful.
The only real scenarios I can see being problematic are where people are running specific PCI hardware such as for high-end audio/video applications; If your manufacturer can’t or won’t create new drivers for MacIntel (if they’ve stopped caring about their Mac products, or have gone out of business, or whatever), you’ll probably have to buy new extra hardware for your special needs when you switch to MacIntel. But in five years time, you’d probably want to replace it anyway, since considering the march of progress, today’s “top-of-the-line” audio gear is tomorrow’s “free-with-your-subscription-to-PC-user-magazine” throwaway kit, so hey.