Tuesday, August 17, 2010

James Gosling's interesting aside

James Gosling’s interesting aside

As an interesting aside, that commitment to interoperability is why Apple dislikes Java. Having OS X apps run on Linux or Windows doesn’t make them happy. Apple wants to add your technological distinctiveness to their own.

That’s ignorant. Apple made Java a ‘First-Class Citizen’ (cf. WWDC 20001) on Mac OS X. Their goal was to make Java apps on the Mac look just like native apps. They even went so far with this notion that they wrote the first version of System Preferences in Java. (This had to be pulled and rewritten before the final release because performance was so awful.)

Apple bought into Sun’s hype that Java was The Future. When Java languished in consumer obscurity, that was Sun’s doing, not Apple’s. And yet, Apple continues maintaining Java on Mac OS X, to this day, 10 years later, in order to make sure it’s integrated well. What other operating system vendor does this?

Java isn’t on iPhone because third-party runtimes are not on iPhone, and Java is a third-party runtime. Just like Adobe, Sun decided to take this personally. But since they want to go that route, fine: everyone knows Sun had their chance in the consumer marketplace, and they blew it.


  1. I couldn’t find a primary source for this, presumably because it was so long ago in internet time. But if you Google ’java first-class citizen wwdc 2000’ you’ll find a lot of offhand references to it. ↩︎