Java 5 on Leopard
The rumors of Java 5 being horribly broken beyond all usability on Leopard are, quite frankly, bullshit. It's faster, has better integration with the OS, the Aqua L&F is significantly improved, it has full support for 64 bit and a huge raft of bug fixes and miscellaneous improvements. Everyone's pointing to an uninformed rant on JavaLobby which as it's key example actually highlights a major improvement to the Aqua L&F - the JOptionPane icons should use the application icon, not some obscure artwork that's not used anywhere else in the system. The new dialogs actually allow you to look more like native app, not less. It's even explained in the release notes - heck, the old implementation was probably reported as a bug against Tiger.
Radar #4858198
JOptionPanes did not match the native Mac OS X dialog appearance
Description:
Default info JOptionPanes now use the application's icon, as per the Aqua User Interface Guidelines instead of a message bubble icon. Warning and error JOptionPanes now show the application's icon badged onto the warning or error icon as per the Aqua User Interface Guidelines.
Resolution:
This problem is now fixed in Mac OS X 10.5.
The graphics pipeline has changed in Leopard which means that if you've optimized for the Quartz renderer, you should specifically request it or you may find that suddenly things start going much slower. In most cases the Sun 2D pipeline is faster than the Quartz pipeline - particularly if the code makes Windows specific performance assumptions (most Java 2D code does whether the author knows it or not). So while some applications may run slower by default, most applications run much faster and those that do run slow can switch back to the Quartz pipeline. Change isn't always easy but it happens - stop whining and start coding.
You can complain that there's no Java 6 yet (though all those people complaining aren't getting anywhere with porting their own and there's no excuses now), and you can complain about the lack of information but Java 5 on Leopard is a significant improvement and the engineers at Apple deserve to be congratulated for that - not insulted.


November 1st, 2007 at 12:57 pm
[...] which are cherry picked to distort reality. My favorite is that he pulls someone claiming that pulling out Quartz actually makes things faster. Um, no. Pick something random from this search and try it yourself. [...]
November 1st, 2007 at 1:23 pm
It’s sad when you throw facts at people they claim it is “distorted” and call you a fanboy for just stating the truth.
November 1st, 2007 at 3:37 pm
Exactly!
One other thought: the JVM is really like a 5.5 - the classloader is better, the L&F and other optimizations make it something special. The only things missing are the scripting engine and the compiler API. Not big issues. (Yea there are some collections and other stuff.)
The big deal is that the JVM is updated to take advantage of dynamic languages such as JRuby, Groovy, and JPython.
November 1st, 2007 at 6:34 pm
I’d agree with you if Google Web Toolkit still worked, but Java5 on Leopard broke it, and as a result, I’ve had to use an Ubuntu instance in Parallels all week to continue my work. The fact is, Leopard Java5 made some changes that broke SWT-AWT integration in some apps.
I agree, there’s no need to bash Apple’s engineers, on the other hand, there’s no need to paint a rosy picture either.
November 1st, 2007 at 6:52 pm
Ray,
There was a change to SWT-AWT integration and Apple have provided a patch to Eclipse to get it all working again. You can rebuild the launcher yourself if need be. If Java on Mac is that important to you, perhaps you should actually monitor the Apple java-dev list so you can stay up to date with these issues?
Either way, the picture for Java on OS X is very rosy - not so great for GWT on OS X, but Java is great. You should expect a few problems in a major OS upgrade and there are fixes rapidly becoming available for them.
November 1st, 2007 at 7:25 pm
“dabble in a range of other artistic mediums.”
That would be “media” unless, of course, you get your inspiration from a different dimensionality.
November 1st, 2007 at 9:39 pm
I’m in the same boat.. all my development work is now off mac due to leopard breaking java 6. And what a smug ahole who says monitoring the apple dev list would have helped… apple gave no warning jdk 6 would break.
November 1st, 2007 at 9:46 pm
[...] interesting note about Java on Leopard… is seems like the guy got a lot of press for whining about a specific [...]
November 1st, 2007 at 10:00 pm
[...] my friend Greg gave me an interesting link that states that the support of Jave5 in Leopard is good. Always the same story, you have to check [...]
November 1st, 2007 at 10:24 pm
[...] To summarize the controversy, Apple is very far behind porting Java 6 to Mac OS X. They also have some gripes with some of the more advanced features of Java 5 on the Mac - specifically anything that has to to with Graphical User Interfaces (GUI’s). Of course, there are two sides to this story- first, Porting Java on OS X is hard and, of course, Java 5 on OS X is Pretty Good. [...]
November 1st, 2007 at 11:11 pm
For the record, I was calling John Gruber a fanboy, not our host here. I stand by the fact that pulling Quartz out makes things much slower for the majority of applications. You can take a look at the list I provided and compare, but I think the fact is pretty self evident after you do some research. Now, perhaps we are talking a cross purposes, that all I care about a graphical applications and you are talking about how I don’t know, something like Intelli/J performs with Swing. That could be better; I honestly don’t know. So perhaps we are not really talking about the same things. But things which are heavy Java2D users seem to me much worse.
Also, monitoring the java-dev lists? Really? I enjoy reading through kernel-traffic as much as the next guy, but uh, isn’t this the reason why everyone loves the mac?
I don’t mean to be so negative, it’s just the fanboy-ness of it all that’s frustrating. My person feeling is that there are always bugs with the first release. I’m sure that Apple will work them out given the time, it’s just disappointing that these seemingly obvious java problems weren’t prioritizes hirer in the bug-fixing triage process. I wouldn’t even say that they are “far behind” in getting things up to speed, just you know, behind.
November 2nd, 2007 at 1:50 am
Sounds like a lose-lose situation for …
JAVA DEVELOPERS!
November 2nd, 2007 at 2:29 am
me·di·um (mē’dē-əm)
8. a) specific kind of artistic technique or means of expression as determined by the materials used or the creative methods involved: the medium of lithography.
b) The materials used in a specific artistic technique: oils as a medium.
November 2nd, 2007 at 3:27 am
I was monitoring java-dev, as well as the bug that skovatch filed at Eclipse, because I was hoping that it might fix GWT as well, but unfortunately, it doesn’t. It’s obvious that Leopard was rushed to make the October deadline, that’s why Java5 had regressions in some of the most popular apps, and that’s why there’s no Java 6. Not because of this stuff about Apple abandoning Java, but the fact that Apple wasn’t going to hold up the release of Leopard for Java6, nor ZFS, or other components.
I only wish they left the Tiger JDK sitting on the disc somewhere in a runnable state. It’s be running 1.4.2 right now on OSX if my codebase wasn’t tied to 1.5
November 2nd, 2007 at 5:37 am
[...] complained about a lack of Java 6, some have said that Java 5 is broken too, and others have said Java 5 works just fine. The Spitzer Science Site itself is [...]
November 2nd, 2007 at 7:49 am
Ray, the Tiger JDK wouldn't run at all if the Java 6 DP is anything to judge by. Java uses a lot of internal APIs, particularly to make the Aqua L&F work and they tend to change between major OS releases.
Will, the java-dev list isn't for people developing JVMs, it's for Java developers on Mac - ie: pretty much everyone who cares about this post. It's busy but particularly around new Java/OS releases is full of really useful bits of information straight from the Java developers.
Anonymous - Apple gave plenty of warning that the Java 6 DP wouldn't work on Leopard, it clearly said not to depend on it anywhere, let alone a new OS and there was no indication that Leopard would have Java 6 when it shipped, only uninformed speculation.
Finally, if you find that the Quartz rendering pipeline is better for your app, you can switch over to it - the Sun renderer is the default, but not the only option so it shouldn't be an issue.
November 2nd, 2007 at 9:58 am
The fact remains, I was monitoring java-dev prior to the release of Leopard and was still bitten by Java5 bugs/regressions on Leopard. Monitoring the list didn’t provide any help or warning as to the issues with Tiger on Leopard. The SWT issues fixed are apparently unrelated to the reasons why GWT is broken. I am monitoring every last morsel of information related to this bug because it is basically causing huge delays in my project.
I don’t think it serves anyone to paint this as a overly painless or issueless upgrade. In fact, I would advise anyone thinking of upgrading to Leopard who is a Java developer to think twice until the next update or two ships.
November 2nd, 2007 at 11:59 am
@Ray: I don’t think anyone (except the true fanboys) is painting Leopard as an “overly painless or issueless upgrade.” What I think *is* reasonable to say is that, if you depend on Java on Mac OS X, then maybe you should stay on Tiger for a while. No one at Apple forced you to upgrade, and if you stay on Tiger, you will experience no regressions.
Of course, we all want Leopard, and we all want Java 6 on Mac OS X. But the major upgrade to Mac OS X has only been shipping a few days. A little patience seems in order.
November 2nd, 2007 at 11:56 pm
[...] had started writing a long and detailed post about my thoughts on the matter but came across Adrian Sutton’s and realized that he expressed the exact same sentiment, only more succinctly. My favorite part: [...]
November 3rd, 2007 at 3:29 pm
I wonder who is full of what…
Bus error running eclipse on Leopard: http://dev.eclipse.org/newslists/news.eclipse.platform/msg69730.html
GWT broken on Leopard: http://www.adamhoughton.com/2007/10/leopard-first-impressions-gwt-shrook.html
IntelliJ broken on Leopard: http://www.jetbrains.net/jira/browse/IDEA-16084
Try attaching a Java program to a Space in leopard or even Alt-Tabbing to a Java application from different space. Java is severly broken in Leopard.
November 3rd, 2007 at 3:41 pm
Anonymous, Eclipse is broken because of SWT - not Java. GWT is broken because of native platform code, not Java. JetBrains JIRA instance isn’t responding at the moment so I don’t know the details of that one - given the lack of complaints on the java-dev list though it’s unlikely to be a show stopper bug.
There were bugs in Java on 10.4, there are bugs in Java on 10.5 - if anything, the upgrade to 10.5 has gone smoother than any previous OS upgrade. The sky is not falling and Java is not severly broken - severly broken would be the upgrade that left Java seg faulting for quite a few users. Three bugs, two of which are *not* in Java is a pretty good record for a major upgrade. Noone is claiming that 10.5 is perfect - I’ve logged a number of bugs with Apple about it myself (none of them about Java yet), but it’s not “severly broken”, it’s not even a bad release - it’s a significant improvement and I’m very glad that I upgraded.
November 3rd, 2007 at 7:59 pm
being the OSX and IntelliJ ‘fanboy’ that I am, I went and checked the IntelliJ Jira.
The bug seems to be relating to the file tab control when using the Mac LAF. The issue is adverted by using the Metal look and feel.
Not a good solution, but there is a real work around, so this won’t stop me from wanting to swap cats on my Mac.
November 6th, 2007 at 8:54 am
[...] all the complaining about Apple not having shipped JDK 6 with Leopard it's nice that someone has actually stopped whining and started coding. So kudos to Landon [...]
November 6th, 2007 at 1:58 pm
apple gave no warning jdk 6 would break
Funny, my copy says “This build has received only limited testing and should not be installed on a system with critical data” right on the installation screen, with (as I recall) various other dire warnings in the Release Notes. That sure looks like a warning that things might break without warning to me.
So you were using an unsupported beta framework for WORK?
And then you upgraded your WORK machine to a brand-new OS release without bothering to check to see if anything would break?
Uh-huh.
November 18th, 2007 at 4:30 pm
“Java 5 on Leopard is a significant improvement”
Not for me! Sound playback seems to be pretty broken on my Mac: my own application plus any applet I have tried plays back with horrendous distortion now (e.g. http://library.thinkquest.org/19537/java/Beats.html for a random sound applet that now sounds distorted).
Sound playback still works fine with JRE 1.4, and sound playback used to work fine with JRE 1.5 with Mac OS 10.4…
I haven’t seen any other reports of this bug yet, so if anyone else can reproduce it, I’d love to hear about it.
December 20th, 2007 at 12:17 pm
Have same problem as lachlustre (25). The ‘beats.html’ is distorted on iMac Intel OSX 10.5.1, but not on XP SP2 Intel PC. Also my own Java app is OK on XP SP2, was fine on Tiger, but is very distorted on Leopard. Other sound e.g. from iTunes is OK on Leopard.
January 23rd, 2008 at 11:01 pm
I just got a new Mac i need java for my puzzles what is going on Why can’t i get it or is it something I’m doing ????
February 21st, 2008 at 7:13 am
It’s definitely something you’re doing.