Apple Deprecates Java, Steve Jobs Comments, Java Creator Rebuts

Apple announced to developers on Thursday that the company was deprecating Java for Mac OS X, warning that, “developers should not rely on the Apple-supplied Java runtime being present in future versions of Mac OS X.” When asked about the move by a developer, Apple CEO Steve Jobs allegedly replied that it may be better to let Oracle do future updates for Java for Mac.

In the world of software, the term deprecation is used when a feature is considered to be obsolete or on the way out. In this case, Apple is telling software developers that the version of Java for Mac OS X that is ported by Apple is on the outs, which may or may not be an indication of Apple’s feelings about Java as a whole.

Apple did say that it would continue to support the current Java runtime in Mac OS X 10.5 (Leopard) and Mac OS X 10.6 (Snow Leopard) through the standard support cycles of both OSes.

MacRumorsreported that Scott Fraser, the CEO of Portico Systems, a developer of Enterprise software written in Java, wrote Steve Jobs an e-mail asking if Apple was killing off Java on the Max. Mr. Fraser posted a screenshot of his e-mail and what he said was a reply from Mr. Jobs.

In that reply. Mr. Jobs wrote, “Sun (now Oracle) supplies Java for all other platforms. 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.”

The implication, though specifically not the statement, being that Sun (now Oracle) will therefore supply Java for Mac OS X, too. If so, it would relieve Apple of a burden that few within the company are likely to carry about, as Java development is found on Mac OS X almost exclusively in the Enterprise space.

There’s only one problem with that, however, and that’s the small fact that Oracle (used to be Sun) doesn’t actually supply Java for all other platforms, at least not according to Java creator James Gosling, who said in a blog post Friday, “It simply isn’t true that ‘Sun (now Oracle) supplies Java for all other platforms’. IBM supplies Java for IBM’s platforms, HP for HP’s, even Azul systems does the JVM for their systems (admittedly, these all start with code from Snorcle - but then, so does Apple).”

Dr. Gosling also pointed out that it’s true that Sun (now Oracle) does supply Java for Windows, but only because Sun took it away from Microsoft after Big Redmond tried its “embrace and extend” strategy of crippling Java’s cross-platform capabilities by adding Windows-only features in the port it had been developing.

Sun also provides Java for Linux, “because there was no one else to do it.”

Windows and Linux does not exactly meet the definition of “all other platforms.”

Then again, Apple CEO Steve Jobs and Oracle (which, as we’ve repeatedly pointed out, now owns Sun) CEO Larry Ellison are best buds, and the idea that Apple made this move without Messrs. Jobs and Ellison having discussed the issue seems doubtful.

So, what this means for the future of Java on the Mac platform is anyone’s guess.

Popular TMO Stories

Predictable fanbot reactions:
1. Java sucks anyway. Good riddance.
2. Java is slow and crashes.
3. Java was only being used for Android. Smart competitive move.

Please come up with something better if you’re going down that road. Meanwhile, just today, I used two Java products on my Mac—a webcam viewer from a local petsitting service and LogMeIn. What Apple is doing in deprecating a technology it was once fully committed to is offloading redevelopment costs for the Mac platform to these and thousands of other companies. Some will absorb the costs, and pass them on to you, the Mac user. Some will not absorb the costs, and their functionality will be lost on you the Mac user. The community can’t sort this out. Oracle can’t sort this out without dedicating a lot of money that it just won’t ever see a return on. Enjoy.

There is a lot of “Oracle will not see a return on its investment if they support Mac.” Please will someone clearly point out how giving away Java SE for Windows, Solaris, and Linux makes Oracle money? (Please note I’m only referring to the JVM/SDK here.)

Only place where Sun made any cash on JVM/SDK was licensing to those wanting to embedded a version in their software or appliance.

BTW, before telling me I’m in “fanbot” mode.. I honestly really don’t care about Java itself. I have no ponies in this race. Just tired of claims being made that seem out of line with reality.

bluscarab9:04 PM EDT, Oct. 22nd, 2010Guest

Great. Stevo kills off flash and now java. Macheads will love the internet now. He should make Safari automatically block all those sites that use those pesky plugins. That way, users will only notice how squeaky clean the web has become.

Please will someone clearly point out how giving away Java SE for Windows, Solaris, and Linux makes Oracle money? (Please note I?m only referring to the JVM/SDK here.)

I already have (indirectly) in John’s Particle Debris thread. These implementations you refer to are already developed. Snoracle just needs to maintain them. A Mac implementation would need to be redeveloped, because according to everyone who knows about it, the current implementation is dependent on many undocumented APIs to achieve the level of integration it has with the operating system.

Ironically, it was Java that originally made me switch from OS 9 to OS X. I couldn’t run CGoban (www.gokgs.com) without a modern version of Java. Before that I was happy to stick with OS 9 (because OS X was barely usable until Jaguar). To this day, I use CGoban over other native Mac SGF viewers, because it’s just SO MUCH BETTER than everything else (which is saying something, because the native Mac alternatives, like Goban, are really, really nice).

And there have been a couple specialized Java apps I’ve used over the years that had no non-Java alternatives.

Apple may be right that we’d be better off if Oracle managed Java for Mac the same way they do for Windows and Linux. But I don’t like the smell of this. It smells like “let’s kill Java”.

Already the lack of Java is a big point against the iPhone for me.

Paul Johnson11:07 PM EDT, Oct. 22nd, 2010Guest

I express my deepest sympathy to the Java programmers who have migrated to the comments section time and are paranoid whenever it seems like the red carpet is being rolled up.

In the meantime, this move provides much evidence of a forthcoming partnership between Apple and Oracle/Sun. Oracle will have an incentive to do Java for Apple platforms because Oracle/Sun will be selling business software that works on the new Apple devices.

JohnW12:06 AM EDT, Oct. 23rd, 2010Guest

Clever move against Android. A HUGE number of Android developers use the Mac as their development machine. This is a punch to the ‘nads.

AdamC1:55 AM EDT, Oct. 23rd, 2010Guest

I wonder those clowns who commented on java for the mac realise how badly it works on the mac. And most of the times it doesn’t work at all.

So good ridden.

Doug Grinbergs2:57 AM EDT, Oct. 23rd, 2010Guest

If Apple can’t be bothered to implement proper window-switching shortcut behavior, proper contextually corrrect menu enabling/disabling, sheets that don’t separate from parent windows (some simple examples of Apple’s half-hearted Java implementations), it seems very highly unlikely that Snoracle - or any other entity - will have any incentive, or the talent, to be more conscientious - to make it suck less.

It’s not just enterprise apps that depend on Java (OK, InterMapper and CrushFTP would fall into that category); other apps are also written in Java for cross-platform delivery (e.g. AgentSheets, AuctionSieve). If Apple walks away from Java, I fully expect the Mac versions of Java apps will suffer (even more than they already do from Apple’s weak implementation) - and, I predict, developers will then find themselves in the unenviable position of running on some half-ass Java on the Mac or, at great expense, writing native Mac apps; understandably, some developers may choose to bail on the Mac platform.

Anyway, I’m glad I haven’t recently wasted my valuable time reporting Apple Java bugs that (seems to now be pretty much guaranteed) will never get fixed.

Apple is not deprecating Java. They are deprecating their own home-grown version of Java.

Apple used to be so small that they had to make their own version of Java, which was necessarily always one step behind. Now that Apple is all grown up, Sun can justify making an OS X version. Therefore, it’s time for Apple to defer to Sun. This benefits Apple users by keeping them current. It also makes OS X more secure, because Apple users will get security updates for Java at the same time as everyone else.

Macs will continue to have Java, but it will come from Sun, not Apple, just as WIndows users get Java from Sun, not Microsoft. Mac users will have the latest version, not the previous version; and security updates will not be delayed. This also benefits Java developers, who have a more consistent development platform.

Just Windows alone gives you 90% of PCs. What Steve Jobs probably _meant_ was that Oracle provides Java for two of the three biggest computing platforms. And what Gosling left out of his statement about other platforms is that most of them are variations of Unix/X11, it’s not like they’re major porting efforts.

We are in a grey area now. Assuming that in mid 2011 OS/X will no longer ship with Java, we need a statement from Oracle that they will take it over. And we need Apple to help them do that.

I’ve seen multiple posters state that Apple will never hand over the source code of their customization and that Apple’s implementation uses lots of undocumented API’s. I’ve never seen any justification for either one of those statements.

Apple releases quite a lot of source code to open source projects and actively supports several. So they’re not fundamentally opposed to opening up code. Apple also transitions undocumented APIs to documented, so it’s possible that if there are support issues they can be resolved by mid 2011.

And, of course, we have the background issue that is Java 7. There’s no firm release date for it and no firm idea of what will be in it. Thank’s to the Oracle purchase of Sun and to the mass unrest in the Java camp because of that, there’s no telling what’s going to happen yet. It’s possible that Java 6 will be the production version of Java for several more years.

It’s a rough time to be a Java developer period. Whether you’re using Windows, Linux or OS/X.

But that doesn’t excuse the lack of coordination between Apple and Oracle on this. If nothing else it’s a major cooling of Java developer interest in using OS/X as a development platform. It would calm many nerves if we got some formal announcements on this.

There’s also a movement afoot to get Apple to donate their code to the OpenJDK project for incorporation into the BSD port. That port is already usable as a Java server on OS/X. You can sign the petition here - http://www.petitionspot.com/petitions/macjdk