I'm an engineer, and if there's one thing that engineers suck at, it's taking stock of recent accomplishments. As soon as one project is "completed" (no matter how significant or gratifying), we're already looking forward to the next big task into which to sink our collective teeth. Who has time to sit around chatting about that old project when there's something new and shiny to tinker with?
Such is the case with Mustang (Java SE 6) Beta. No doubt by now you've already downloaded JDK 6 Beta (and if you haven't, then stop reading this drivel and go download it). But when I heard that Mustang Beta hit the streets this morning, my first reaction was something like: "Ho hum, b59g? That's so passe!"... After all, most of my concentration these days is directed on bug fixes and last minute enhancements for Mustang Beta 2, and I'm even spending some time looking into the hazy future that is Dolphin (Java SE 7).
Well, Mustang Beta may be passe to me (and to a few thousand eager early adopters who have been downloading the weekly snapshots), but it's new to the other N million Java developers out there. And if you're one of those N million, you can rest assured that the JDK 6 Beta bits you've just gotten your hands on have been much more polished and well-tested than any of those weekly snapshots. Almost all the major features of Mustang are in there, so there's no better time to kick the tires and see how well your application performs on the latest and greatest JDK.
At this point, I think I've convinced myself that Mustang Beta isn't passe at all, actually it's quite rad. So maybe it is worth taking a quick look back at my favorite personal accomplishments in Mustang:
5. I assisted with my first externally contributed fix for Mustang. Can't wait to see more of these in the near future.
4. Faster Image I/O!
3. Fullscreen exclusive mode for Linux and Solaris. Admittedly, this one's a couple releases overdue, but it's pretty cool that you can now write a fullscreen application and have it work on all platforms.
2. Single-threaded OpenGL pipeline. I think I've said enough about this one already (see this and that), but it's still really fast, stable, and it opens the doors to a whole new breed of applications (see Romain's "Twinkle" demo) that mix Java 2D, Swing, and JOGL to provide a compelling user interface.
1. No more gray rect! I played a small part in this one (it took a whole dedicated team with people like Scott, Alexander, Denis, Dmitri, and Chet), but we pulled it off and now Swing applications appear more responsive than ever.
And those of my colleagues:
6. No more scary WebStart dialogs (and the new splashscreens and icons are pretty slick as well).
5. JAXB and JAX-WS finally part of the JDK. No more extra downloads required to write compelling rich clients that interact with those nifty up-and-coming web services (e.g. Flickr).
4. SplashScreen API.
3. A more complete Direct3D pipeline for Java 2D. Going forward the D3D and OGL pipelines will have very similar architectures, which will help bring robust, hardware accelerated rendering to more platforms and hardware configurations.
2. Vastly improved Windows and GTK L&Fs. They're both now using platform APIs for even better native fidelity and performance.
1. LCD-optimized text!
In my ears: The Buzzcocks, "Singles Going Steady"
In my eyes: Nothing, for once!