Sponsored Link •
A year after its official debut, Apple's Java 6 implementation is now available for Intel-based Macs. Was it worth the wait?
Many developers and Java thought leaders, including James Gosling, were very disappointed at Apple's lackluster support for the latest Java features. Although not all developers depend on the most up-to-date Java capabilities, the fact that a JDK 6 implementation was not available at all on Mac computers resulted in sour feelings toward Apple and the state of Java on the Mac.
Just when some developers, including Gosling, were giving up on the Mac as a Java development platform, Apple released a preview of its Java 6 implementation a few months ago. And today, a short, cryptic note on the Apple Developer Connection heralded Java 6's availability for Intel Macs through the company's software update mechanism:
This update provides Java SE 6 version 1.6.0_05.
This release does not change the default version of Java. This release is only for Mac OS X v10.5.2 and later, and should not be installed on earlier versions of Mac OS X. This release is for 64-bit Intel-based Macs only and cannot run on PowerPC-based or 32-bit Intel-based Macs.
Software developers can visit the Java Reference Library for information on this release's features.
Was the more than one-year wait worth it?
In a word, yes.
While Sun has devoted a great deal of resources to supporting Java on Windows, Solaris, and Linux, and while the latest Java features are always available on those platforms, I have to say that sometimes good things come to those who wait—and, concomitantly, bad things may happen to those in haste. I'm not saying this as a developer writing Java code but, more importantly, as a user of Java applications.
In my case, actually, the roles of user and developer merged in that I had such a strong confidence in Java on Windows that I actually developed a product relying on that technology, using Swing. That was several years ago. I do not want to recount the heartache from trying to make client-side Java work well pre-JDK 6 on Windows, the platform our customers used.
In addition, it was Java applets that arose my interest in the JVM and the language in the first place in early 1995. I still think that applets are a truly brilliant idea, and it fills me with sadness that this wonderful idea is now finding its inferior implementation in the form of Ajax applications (and its true fulfillment in Flex).
While I had such a poor experience with client-side Java on Windows, Solaris, and Linux, one of the most surprising experiences of switching to a Mac over a year ago was the excellent and, in fact, seamless, Java support on OS X. Applets just work in Safari. And that Swing application I had so much trouble supporting customers with on Windows, turned out to work best on the Mac. WebStart never failed to launch the application, and the Swing app feels rather at home on the OS X desktop.
Firms undoubtedly have to make the choice between rapid delivery and a quality implementation. Not wanting to sound like an Apple fanboy, I'd note nevertheless that many software firms should take a page from Apple's consumer-focused approach to product releases. In hindsight, I would have rather waited until now to get a decent JRE 6 implementation on Windows, especially if that would make applets and client-side Java a truly viable option to write software for.
And even on Windows, we still have a long way before a decent client-side user experience is generally available. When Sun announced the Java 6 Update 10, I immediately visited the download page of a few applets to experience this release. Alas, I was greeted with several error messages, and only after, again, having to manually install the update, was I able to access those applets.
Where do you stand between speedy releases, on the one hand, and a quality implementation and user experience, on the other?
|Frank Sommers is a Senior Editor with Artima Developer. Prior to joining Artima, Frank wrote the Jiniology and Web services columns for JavaWorld. Frank also serves as chief editor of the Web zine ClusterComputing.org, the IEEE Technical Committee on Scalable Computing's newsletter. Prior to that, he edited the Newsletter of the IEEE Task Force on Cluster Computing. Frank is also founder and president of Autospaces, a company dedicated to bringing service-oriented computing to the automotive software market.
Prior to Autospaces, Frank was vice president of technology and chief software architect at a Los Angeles system integration firm. In that capacity, he designed and developed that company's two main products: A financial underwriting system, and an insurance claims management expert system. Before assuming that position, he was a research fellow at the Center for Multiethnic and Transnational Studies at the University of Southern California, where he participated in a geographic information systems (GIS) project mapping the ethnic populations of the world and the diverse demography of southern California. Frank's interests include parallel and distributed computing, data management, programming languages, cluster and grid computing, and the theoretic foundations of computation. He is a member of the ACM and IEEE, and the American Musicological Society.