Are You Ten Years Ago
How retro is your Java app?
Remember Java 5? Or are you looking forward to it? It's striking how much Java developers differ in how quickly or slowly they start using new versions of the language and its core libraries. While some people are bitterly complaining about Java 6's non-availability on the Mac, other major projects are targeting Java 5, the previous major version of the Java platform. For example, the Glossitope project recently announced it is moving from Java 6 to Java 5, so they'll be compatible with more end-user systems, the Mac situation being a major factor in that decision.
And some projects are on even older versions, wondering if now is the time to move ahead to Java 5, with Java 6 not even a consideration, even though it's the current version.
InfoQ is tracking an interesting debate among participants in the jruby-dev list in its article JRuby: Java5 or not?. Noting that JRuby is currently Java 1.4-based, which appeals to the upgrade cycle of large companies, the article points out that "there are good arguments for breaking compatibility with 1.4 and using Java 5 features, besides allowing the JRuby team to use the new language features like Annotations or Enums. One would be the advanced concurrency libraries which were added to Java 5. Right now, a backport of the
java.util.concurrent libraries is shipped with JRuby, which means increased download size."
And if you think Java 1.4 is old, InfoQ also points out that "many projects, like Eclipse, opted to staying 1.4 compatible as long as possible, with basic technologies and libraries like OSGi or SWT even staying 1.1 or 1.2 compatible."
What works for you? What version's API do you target, and what do you stand to gain or lose with that choice? Is it different for server apps where you can control the runtime, versus libraries and end-user apps? And what about the option of coding to the older API's while potentially picking up VM improvements from newer versions of Java?
Also in Java Today,
The latest in a series of SDN interviews is Meet Tom Marble, OpenJDK Ambassador for Sun Microsystems. In a conversation with Janice J. Heiss, he talks about the OpenJDK community and the projects it has spawned, including the Kitchen Sink Language project, RedHat's IcedTea project to replace JDK encumbrances with GNU Classpath equivalents, and a proposed, lightweight framebuffer-based peer implementation for AWT called fbtoolkit. He also discusses copyright concerns for open-source, benchmarking, and his interest in Tae Kwon Do.
In the NetBeans community article Welcome on Board NetBeans Air!, Tim Boudreau met the platform specialist Tom Wheeler to chat about Tom's latest "little" project: He ports applications that analyze mass properties of aircraft for Boeing. His Mass Toolkit project is expected to ultimately replace a native application running on Cray supercomputer, dispelling any concerns about Java performance.
The latest Java Mobility Podcast is Java Mobility Podcast 13: Mauricio Leal on Mobility and the Mobile and Embedded Community . In it,
Mauricio Leal, Mobility Application Developer and Advocate, discusses the challenges and issues for Developers and Carriers, shares his insight on ever emerging role of mobile devices, and its impact to help bridge the digital divide in developing countries.