MacOS/2
Apple’s announcement on Monday was interesting, and somewhat sad. If you’d been living in a geek cave for the past little while, Apple announced they would be abandoning their PowerPC chips, and going for Intel ones. The announcement, in and of itself, is not a big deal. We’ve been through architecture transitions before: 680×0 to PowerPC, MacOS9 to MacOS X. The NeXT side of things, where OS X really came from, were making programs that ran on four different kinds of chips (680×0, HP, Sun and x86\). So the chip exchange itself is not that scary.
The scary part is what happens to development on the Mac. Right now, to get a program to run on the Mac in any kind of mainstream way, a developer needs to write something specifically for the Mac. While one could still buy some kind of Windows emulation program and run your Windows programs in that, they were all slow and had trouble with drivers. So really, that wasn’t much of an option.
Now that the Mac will be based on Intel chips, these Windows-on-Mac programs will be much faster and more compatible, because they no longer have to translate Intel commands to the PowerPC – it’s already an Intel chip. Major speed and compatibility boosts there. Woo-hoo! In fact, there’s nothing stopping someone from loading Windows onto Intel-based Macs, and booting into either Windows or MacOS at startup. Going one step further, there is lots of software out there now that allows people to run one operating system “inside” another. Many Linux people, for example, use Win4Lin to run Windows applications “inside” Linux. I’m sure some clever developer will release something to allow Windows programs to run on the Mac transparently. We pretty much have it already with the newer editions of Virtual PC.
Once that happens, why should a Windows developer bother to rewrite their program for the Mac, if it runs there already? Sure, yeah, programming on MacOS X is better, blah blah blah. That’s a fairly moot point. Some effort is required on the part of the programmer to re-code their stuff from the Windows-way to the MacOS-way. If the software runs fine on the Mac already, why bother?
I bring this up because I remember my history. I used to be an OS/2 user. It was a great operating system – it was fast, it was 32-bit native, and it ran Windows programs . In many cases, it did that better than Windows itself could. Over time, there were fewer and fewer OS/2 native programs being built, as the developers moved to Windows. There are a lot more users running Windows, and making a Windows program meant it would still run on OS/2. Also, it was difficult getting new developers to code for OS/2 because OS/2 applications wouldn’t run on Windows.
You’re in a room with 100 people. Five of them speak English, and the rest of the room speaks Hungarian. If you want to communicate with the people in the room, you’ll have to speak both languages. Now the English speaking people learn Hungarian, you don’t have to worry about both languages. English is the easier (“better?”) language for you, but why bother speaking it, because you can get your message out fine in Hungarian.
That, for me, is the essence of the problem.
If Apple comes up with a way to allow Mac apps to run on Windows, we might have a solution: allowing (presumably) better-written Mac software to run everywhere will even the playing field a bit. That’s a major technical challenge though, but they do have two years to do it…
Of course, Mr Cringley thinks that Apple and Intel are about to merge. He makes some very interesting points in his article, and asks some very good questions. I don’t think his conclusion is correct, but, like me, we’re both just trying to figure out what the hell is going on.