Symphonious

Living in a state of accord.

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.

  • Dustin Wilson says:

    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 1, 2007 at 1:23 pm
  • Tim Goeke says:

    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 1, 2007 at 3:37 pm
  • Ray Cromwell says:

    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 1, 2007 at 6:34 pm
  • Anonymous says:

    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 1, 2007 at 6:52 pm
  • Arthur says:

    “dabble in a range of other artistic mediums.”

    That would be “media” unless, of course, you get your inspiration from a different dimensionality.

    November 1, 2007 at 7:25 pm
  • Anonymous says:

    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 1, 2007 at 9:39 pm
  • Will Schenk says:

    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 1, 2007 at 11:11 pm
  • she says:

    Sounds like a lose-lose situation for …

    JAVA DEVELOPERS!

    November 2, 2007 at 1:50 am
  • john says:

    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 2, 2007 at 2:29 am
  • Ray Cromwell says:

    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 2, 2007 at 3:27 am
  • Adrian Sutton says:

    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 2, 2007 at 7:49 am
  • Ray Cromwell says:

    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 2, 2007 at 9:58 am
  • Alderete says:

    @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 2, 2007 at 11:59 am
  • Anonymous says:

    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 3, 2007 at 3:29 pm
  • Adrian Sutton says:

    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 3, 2007 at 3:41 pm
  • Rob Dawson says:

    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 3, 2007 at 7:59 pm
  • TiredOfWhining says:

    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 6, 2007 at 1:58 pm
  • lachlustre says:

    “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.

    November 18, 2007 at 4:30 pm
  • Ken Maynard says:

    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.

    December 20, 2007 at 12:17 pm
  • Virginia Bishop says:

    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 ????

    January 23, 2008 at 11:01 pm
  • Anonymous says:

    It’s definitely something you’re doing.

    February 21, 2008 at 7:13 am
  • Anonymous norwegian says:

    Try changing the format for the audio output in Audio MIDI Setup to 44.100 – 2ch 16 bit.
    Worked for me! =)

    November 27, 2008 at 7:44 pm

Your email address will not be published. Required fields are marked *

*