📜 ⬆️ ⬇️

James Gosling: why Apple refuses JVM

As you know, a few days ago, Apple actually abandoned the further development of the Apple JVM. It has been more than ten years since Steve Jobs, from the JavaOne 2000 conference scene , announced that he would do "the best Java platform on the planet right out of the box."

Back in 2000, Sun ranked 150th on the list of America's largest corporations, ahead of Oracle and Apple, not to mention Google's startup, which was included in the Fortune 500 list only 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 James Gosling wrote in 2003 in his blog - he himself worked on Mac and was extremely pleased with it. Now his opinion, of course, has changed dramatically.
According to Gosling, there are several reasons why Apple abandons Java. First, it is their “fundamental tendency toward total control” (Apple’s fundamental control-freak tendency), because of which they have been paying less and less attention to Java over time. The situation was complicated by the fact that the first versions that they did were highly customized, much more than was necessary. Because of this, it was very difficult to make an upgrade on schedule, so for a long time Apple JVM lagged behind other platforms on versions, although in recent years Apple has still gathered strength, caught up and coped well.

Further we quote Gosling in the text :

However, there were occasional discussions that the Sun or the community should take the burden. It was a lot of circumstances. One of them is that many Apple websites (MobileMe, iTunes, App Store) were Java applications and they were nervous that they didn’t control the quality of their applications. This thesis became quite controversial when Apple eventually began using a large amount of Sun hardware (finally!). But the most important thing is their secret APIs . Yes, OS X had a bunch of secret APIs. Exactly the same as those of Microsoft, which have become one of the reasons for the antitrust proceedings. An important area where they were used was graphics rendering.

Strangely enough, these secret APIs were used to smooth the graphics: Apple's graphics engine is well designed, it does a great deal of smoothing in all conditions. The Java graphics specifications contain a special neat description to use only the Apple subsystem for anti-aliasing. Unfortunately, the old 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 acted 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 First comment on a note on Gosling's blog: “This is the last nail in the coffin of Java. Give up, man. ”

Source: https://habr.com/ru/post/106963/

All Articles