Stefan Tilkov's Random Stuff

Apple Killing Java?

I got alerted to this earlier today by my good friend Hendrik Schreiber, who develops awesome software for Mac OS X using Java: It seems Apple has killed Java on future OS X releases.

I can understand this, to a certain degree -- for Apple, Java is no longer a platform they want anyone to write apps in, so why waste engineering dollars to support it? On the other hand, there are tons of Java developers who use Macs, as shown by the Mac market share on any Java-centric conference in the last few years -- it's anything between 20 and 75%, with something as high as 90% among speakers. Of course it's going to hurt Apple if all of these folks switch to a different platform, and I do believe it might even be significant considering the network effect (as many of them, including me, were Mac OS X evangelists). I also know that in our company, innoQ, roughly 40 of our 50 developers are Mac OS X users, and it's likely none of them will be anymore two or three years from now. Given an average lifetime of 2 years per 2500 € box, that's about 50k we'll invest somewhere else. I suspect the same will be true for many other shops who use Java and other JVM languages (mostly JRuby in our case).

It's entirely possible the Apple folks have considered this, and come up with more reasons to drop Java than to sustain it. And of course it might all be a misunderstanding, or they might change their mind again, as it happened with other things, such as the App store rules. I just wouldn't bet on it.

From a personal perspective, it sucks very, very much. But hey, they are very good reasons for using Linux too, right?

Comments

On October 21, 2010 9:12 PM, Oliver said:

I’m also doing Java development on a MBP ever since 10.1. Apple had a mixed history with it’s JDK anyway. Was it 1.5 or 1.6 which took really long to get ported?

It sure sucks not having a Apple JVM anymore but I guess this is where OpenJDK steps in. Time to look at it. At the moment I’m not too worried.

Oliver

On October 21, 2010 9:22 PM, Mathias said:

I’m not sure whether Apple finally pulling the plug on its own Java efforts will really void the value of its platform to JVM developers. IMHO there are two factors working against that “doom and gloom” scenario:

  1. Apples actions leave a space to be filled. The attention alternative implementations (like SoyLatte) receive will increase sharply and certainly push these projects along at a much higher pace.
  2. Desktop virtualization. Tools like VMWare Fusion or Parallels increasingly blur the line between what’s running natively and what’s not. On my MacBook Pro a number of Java benchmarks already run faster in a Windows VM than in Apples JVM under OS/X. And moving your development environment in a Linux VM might actually yield other benefits, like reducing integration pain by unifying the development and production platforms.

Cheers,

Mathias

On October 21, 2010 9:32 PM, Nick said:

Let’s face it, Apple’s business is consumer electronics nowadays. Even the todays kids want a MAC because it’s fancy.

On October 21, 2010 10:59 PM, Stefan Tilkov said:

One problem with OpenJDK/SoyLatte (pointed out to me today) is the lack of support for Cocoa. I don’t think I’d want to accept many Java developers would accept a Mac Java IDE requiring X. The same is true for a virtualized Linux or Windows - something like that is OK if it’s a test environment or something you use occasionally. But being able to run one’s main environment only as a second-rate citizen is not exactly a compelling reason to invest into a platform.

On October 22, 2010 5:04 AM, Anonymous said:

Apple OS is crap anyway. No one will use that piece of crap. Only blind ppl see i(stuff) is the best!

On October 22, 2010 7:12 AM, murphee said:

Stefan: Apple’s JVM doesn’t come with any Cocoa bindings either, so there’s no change. Or I suppose you mean the AWT/Swing implementation on Cocoa; well, in that case just use Eclipse: SWT works just fine on Soylatte, mainly because it bypasses the AWT and goes straight to Cocoa (ie. no X11 involved). Try it: http://tech-nickel.blogspot.com/2009/01/java-on-mac-os-x-try-soy-latte.html

I see this step mainly as a signal to the Java community to step up and maintain their runtime themselves. After all - Java developers happily do their Java development on Windows and Linux… and yet neither MSFT nor any Linux distro maintains their own fully licensed Java port. As a matter of fact, the whole situation is a nice change: instead of having to wait 18 -24 months for Apple to port a Java version; now Mac users can get the latest Java X as soon as the Java community (or ORCL?) manages to update & release the Mac port.

After all - you say your devs use JRuby… Apple neither ships nor supports JRuby, yet apparently your team can download & ship the JRuby runtime just fine. The main problem is now to get an OpenJDK version that runs on the Mac… considering the Java 6 versions works fine, that should be enough for a while. And as for Java 7… well… we’ll all in our hovercars by the time that’s available anyway…

On October 22, 2010 8:16 AM, Stefan Tilkov said:

Werner, you are right, I meant a Cocoa-backed Swing implementation. SWT would only help Eclipse - I don’t see Netbeans or IntelliJ (or any number of Swing-based tools) being ported to use SWT just to be able to run them on the Mac.

Of course it would be ideal for everybody if Oracle stepped up and simply took care of providing an OS X version the same way they do for Windows and Linux. I somehow doubt it, but I would love to be proven wrong.

On October 22, 2010 8:37 AM, Martin Probst said:

We probably won’t see Apple open sourcing their Swing/Cocoa implementation as a patch set against OpenJDK (that would be a hell-froze-over moment). Still, that would probably be the wisest thing; maintain Mac OS X as a compelling Java platform but avoid all the associated problems.

I can also understand very well why they won’t ship Java anymore. They just get a lot of security issues/worries and a horrible user experience in the browser in return for more or less nothing.

On October 22, 2010 12:36 PM, Chris M said:

This is a big deal for me. I transitioned from Windows and have been happy so far and done the iPad/iPhone thing on top. So I’ve bought into the platform.

Stevey boy had better realise that I can transition back to Windows just as easily if he wants me to buy a new MBP in the next year or so. I think there are a lot of devs like me who want to develop in native OS X when writing their server side java code. I have VMWare Fusion but would rather develop in OS X as it’s faster and more stable than a Windows/VM environment.

On December 29, 2010 3:34 AM, Anonymous said:

I am (was) considering switching from Linux to a MBP in 2011 for my Java development work. With all this uncertainty, think I’ll stick with a PC system and dual boot it (with Ubuntu).