James Gosling: Why Apple Refuses JVM

    As you know, a few days ago, Apple virtually abandoned the further development of the Apple JVM. More than ten years have passed since Steve Jobs from the scene of the JavaOne 2000 conference announced that he would make "the best Java platform on the planet right out of the box."

    Back in 2000, Sun was ranked 150th on America’s largest corporations, ahead of Oracle and Apple, not to mention Google startup, which only entered the Fortune 500 list in 2005.

    Needless to say, times have changed.

    However, Steve Jobs kept his promise. Macintosh really could be called the best computer for a Java programmer. Read what you wrote in 2003James Gosling in his blog - he himself worked on the "poppy" and was extremely pleased with this. Now his opinion, of course, has changed dramatically.

    According to Gosling, there are several reasons why Apple refuses Java. Firstly, this is their "fundamental tendency to total control" (Apple's fundamental control-freak tendency), because of which, over time, they paid less and less attention to Java. The situation was complicated by the fact that the first versions that they made were highly customized, much stronger than necessary. Because of this, it was very difficult to upgrade on schedule, so for quite a while the Apple JVM lagged behind versions of other platforms, although in recent years Apple has nevertheless gathered strength, caught up and coped well.

    We quote Gosling hereafter :

    However, there have been occasional discussions about whether Sun or the community should take over the load . There were many circumstances. One of them is that many Apple websites (MobileMe, iTunes, App Store) were Java applications and they were nervous that they did not control the quality of their applications. This thesis became quite controversial when Apple eventually began to use a large amount of Sun hardware (finally!). But the most important circumstance is their secret APIs . Yes, OS X had a bunch of secret APIs. Exactly the same as those of Microsoft, which became one of the reasons for antitrust litigation. An important area where they were used was graphics rendering.

    Oddly enough, these secret APIs were used to smooth graphics: the Apple graphics subsystem is well-designed, it does great smoothing in any conditions. The Java graphics specifications contain a special, neat description to use exclusively the Apple subsystem for anti-aliasing. Unfortunately, older Microsoft platforms only supported graphics without anti-aliasing, and artifacts appeared in some (very rare) applications if anti-aliasing was applied to them. These applications did not meet the specifications, and most authors corrected them to work on both platforms. But one developer behaved fundamentally about this [took a serious “fuck you” attitude] and forced Apple to implement rendering support without smoothing - which they did, but kept secret, because it was an absolutely disgusting thing. Who was this "one developer"? Oracle, of course ... "

    PS The first comment on a Gosling blog post: “This is the last nail in the Java coffin. Give up, man. ”

    Also popular now: