News

Analysts Weigh In on Apple's Decision To Deprecate Java in Mac OS

While Apple CEO Steve Jobs was wowing the crowd last week, unveiling the latest incarnation of the Mac OS X (Lion) and the new MacBook Air at a press event, his company was quietly issuing release notes stating that, as of the release of Java for Mac OS X 10.6 Update 3, "the Java runtime ported by Apple and that ships with Mac OS X is deprecated. Developers should not rely on the Apple-supplied Java runtime being present in future versions of Mac OS X."

The Java runtime shipping in Mac OS X 10.6 (Snow Leopard) and Mac OS X 10.5 (Leopard) will continue to be supported and maintained through the standard support cycles of those products, the note read.


"Deprecating" the custom-ported Java packages for the Mac leaves them in place, but without support, and with a strong recommendation for developers to avoid it.

Jobs gave his company's reason for dumping Java on the Mac in an e-mail response to Java developer Scott Fraser, CTO of Portico Systems, that Fraser posted on Flickr. "Sun (now Oracle) supplies Java for all other platforms," Jobs wrote. "They have their own release schedules, which are almost always different than ours, so the Java we ship is always a version behind. This may not be the best way to do it."

James Gosling, the father of the Java programming language, a former Sun Fellow who left his position at Oracle in April, refuted Jobs' claim on his "One a New Road" blog: "It simply isn't true that 'Sun (now Oracle) supplies Java for all other platforms," he wrote. "IBM supplies Java for IBM's platforms, HP for HP's, even Azul systems does the JVM for their systems… [T]he platform owners wanted to do the ports themselves so that they could put a lot of energy into it, and because they knew the platforms better than anyone else...."

"Apple was the same: in the early days, they were insistent on doing the port themselves," he continued. "They put terrific energy into it. They did a good job. But then, as OS X took hold and Apple was able to convince developers to target their non-portable/proprietary environment, Apple's fundamental control-freak tendency took over and they put less and less energy into Java..."

Gartner analyst Mark Driver agrees with Gosling's point: "The idea that Apple would expect Oracle or someone else to deliver a VM for their OS doesn't make any sense," Driver said. "What Jobs said about who supports the VMs is absolutely wrong. It is the expectation and the general trend in the industry that the owner of the operating system is the porter and the maintainer of the VM on that OS. That's the case in virtually every OS except Windows, and that's the exception because Microsoft made Java code written on Windows unable to run on other systems, and Sun was forced to take over the job."

IDC analyst Al Hilwa sees the decision as an unfortunate development for both Apple and Java, but not unexpected. "Steve Jobs made it clear what he thought of what he called 'translation engines' with his iOS restrictions earlier this year," Hilwa said, "which are essentially what virtual machine technologies like Java are. Now, the other shoe drops as Apple appears to be interested in taking the Mac into a walled garden environment in the mold of the iOS. While it's doubtful they will ever bring this entire strategy to completion, it's certainly taking the Mac in a more antiseptic direction, which is slowly kicking out any non-native technologies."

Redmonk analyst Michael Coté makes the point that Apple has become the successful company it is today by building a closed stack under its control, and that consumers so far seem to love them for it.

"Java is outside their control and consumes resources to get 'perfect' enough to run on OS X," Coté said. "The desktop hasn't been a top strategy for Apple, but with their new sizable minority share of the desktop market and, more importantly, their ambitions to replicate the iTunes App Store on the desktop, logic would dictate that Apple needs to lock down desktop development more. My theory is that Apple sees the Mac App Store as good bet for more revenues and a way to generate desktop sales, and wants to control as much of that stack as possible. Java is way out of their control, so under that strategy it's got to go."

What about the consequences for Java developers?

"While Java on the desktop may not be used for a huge amount of desktop applications on OS X, it is used to back most of the development tools, especially Eclipse," Coté said. "Developers have flocked to the Mac as their primary computer and development machine. Without a good, frequently updated Java runtime on the Mac, all those developers will be in trouble. It's not really that dire just yet, but it's certainly annoying for developers and the companies putting out Java-based developer tools. It creates a great opportunity for someone to come in and play good cop to Apple's jerk move here."

Hilwa agrees: "In theory anyone can try and put a JVM on the Mac and support it," he said. "Oracle, for example. But of course this is a costly endeavor and only Apple would know the intricacies of its platform to pull something like that off effectively. So this is a problematic issue for Java developers on the Mac. On the other hand, there aren't many enterprise apps on the Mac, as Java is largely an enterprise server environment at this point. Having said that, Java developers generally love Macs because they like the underlying Unix capabilities and this move will not endear them to Apple in the long run."

In fact, it's hard to imagine that this decision will do anything positive for Apple's developer community, Driver said.

"Java is far and away the most dominant development tool on the planet, and will be for at least another decade," he said. "How in the world do you drop support for Java on your operating system today and not expect that to hurt your developer community? I confess: the move baffles me."


About the Author

John K. Waters is a freelance author and journalist based in Silicon Valley. His latest book is The Everything Guide to Social Media. Follow John on Twitter, read his blog on ADTmag.com, check out his author page on Amazon, or e-mail him at john@watersworks.com.


Reader Comments:

Tue, Nov 9, 2010 Mark London

I've suffered windows for years and played with Linux for ages (mainly for shells) but find installing my drivers for soundcards etc tedious on linux so Mac seemed like the perfect hybrid and I was determined my last tablet windows laptop would be my last windows machine. Fully supported hardware, nice OS and a powerful unix base if you need it made Mac the obvious choice. Sadly I've been less impressed by the iOS saga - weak devices, with snazzy controlled totally locked GUI (waited 3 months for them to fix iOS4.1 on my 3g...)so I feared he'd try to extend this to the Mac. He did! That puts me off buying a Mac forever... All I wanted was a iOS touchscreen (even poss with ability to use AppStore for apps *IF* I wanted), combined with a full 10.5 type mac OS acting like a decent version of the rubbish windows tablets (great concept - bad implementation). Sadly Jobs has better ideas to scam us for cash. I used to develop java but now that Oracle owns it and Apple doesn't support, if it isn't wrested into the open source world its dead.... (Groan and then I'm back to dotnet on windows or C++ on unix...)

Fri, Nov 5, 2010 Jim Dallas

Wow, it seems Jobs must believe that in a few years Java will be a "Write Once Run Nowhere" language choice. ;-) In this I agree, I stopped liking the language years ago...too slow and too much bloat for my needs.

Thu, Nov 4, 2010 Warren Buffett Omaha, Nebraska

Why don't one of you brilliant whiners write a JVM for OSX? Apple has just given you the market, pick up the ball and run with it.

Tue, Nov 2, 2010

I have just switched to Mac few months ago because of what I learned of good Java support on Macs. I am building an SWT app. Also and even as a new mac user I am using 3-4 java desktop apps on daily basis on my mac. Looks like that was a wrong move. If Apple insists on kicking of Java developers I will switch back to what I am used to for the last 20 years. What a shame Apple... What a waste of time and money.

Fri, Oct 29, 2010

There is nothing Baffling or unexpected here. Future of the Apple is in the App Store and collecting commisions from all software sales on the platform (essentially an Apple tax) and programmable virtual machines are a hole in that strategy. Add to that the recent purchase of the Sun by Oracle and Oracle's recent lawsuit against Android and Java is looking more and more as something that nobody should try to touch with 6 foot pole. Two control freaks (Steve and Larry) are about to clash their horns.

Thu, Oct 28, 2010 John Bossons Toronto

The move baffles me, too. As a Java developer and Eclipse tool user, I moved to Apple hardware because of its user-friendly and relatively problem-free developer support environment. It makes no sense to give up this portion of the market for MacBook products.

Thu, Oct 28, 2010

I work as java developer in company that decided to migrate to Apple because of nice hardware, os and mainly good java support. We build own java apps and use many other java (including desktop) apps everyday. After the announcement we had to freeze all mac related investments like new ilife and office and 1 more xserve. We will wait few weeks and if there will be no guarantee of good long term java support we will have to start process of migration out of mac. If apple lets it go so far I am sure we won't be only ones leaving mac. So fare we were making only good references of apple hardware and software to our customers and even convinced few to switch to mac. This all is now directed opposite way... We definitely can't wait to see what happens when lion is out.

Wed, Oct 27, 2010 Fredrik Sweden

As everyone else I've loved to switch over from Windows to Mac but now my first thought is to install Linux instead on this piece of Apple hardware. Wasn't what I envisioned - sort of 50% so long Apple. Guess this is just what to expect from Jobs.

Wed, Oct 27, 2010 Kevin New Zealand

I'm a Java developer and very frustrated by Apple's move away from Java. My company primarily uses MacBooks for developing Java applications in Eclipse and/or Netbeans. All developers on staff use MacBook's, however that now looks like it'll be changing. I've thought of MacBooks as the cadillac of laptops and that they made our teams more productive because of their stability and feature set. BUT with this announcement EFFECTIVE IMMEDIATELY we won't be purchasing any more Apple hardware. So long Apple.

Wed, Oct 27, 2010 Jeff Brandt

Make sense for Jobs, Apple only makes enduser products not business or enterprise. Bad move for Apple and customers but will not hurt Java.

Add Your Comment:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above