Some nice comments on Mustang compatibility
Weiqi Gao has a blog posting with early impressions on Mustang, a.k.a. Java SE 6. In all it's very positive talking about several applications he tried which worked fine.
He talks a little about the adoption rate for Java 1.5 (a.k.a. Tiger), and says "I have a feeling that the lack of a 5.1 version has really hurt the adoption of JDK 5".
I want to mention that, what would have been "5.1" are the update releases. If you go to the JDK 5.0 download page at http://java.sun.com/j2se/1.5.0/download.jsp you see it saying "JDK 5.0 Update 6". Yes, there have been six updates to JDK 5.0 since the FCS, and the releases happen approximately every 2 months. The fixes in these update releases are the same sort that had previously gone into 1.4.1, 1.4.2.
If you're one who says "never trust version x.0 of anything", well, Tiger is past version 5.0 and is at version 5.0_06, and that "_06" on the end makes a world of difference. By our current release policy you're never going to see a version x.1 again, because we're relying on these update releases to fix those sort of bugs.
And, while I'm here, I want to again mention the regression contest. Weiqi Gao is talking about compatibility, the ability to take an application that works fine against a previous Java release and to have it continue working on the next Java release. Patrick Curran is working on the compatibility side of Java, and is now writing on his blog about it. Compatibility is a big part of our work with Java, and that's not just an empty promise mouthed by our management.
One of the ways we measure compatibility is in regressions, which are features which worked in a previous release and no longer work. A rule we follow in determining whether a given release is ready to ship (as FCS) is whether there are regressions. If there are regressions we will not ship. But, let me make that clear, those are known regressions, because if we don't know about the regression then we can't do anything about them.
This is where you come in. I've said this before, where compatibility is really measured is when you run your application against the new Java release. Does the application continue to work? If not it may be a regression in Java. The sooner you tell us about any regressions you see, the greater likelihood it will be fixed in the Mustang FCS. If you do find a Mustang regression, visit the contest web site and enter.