Java SE 6 Released

Today Sun announced the release of Java SE version 6. Last week I spoke with Danny Coward (Java SE Platform Lead) about the features and significance of the new release.

From my perspective, the most interesting feature is the built-in support for what they’re calling “script engines”, that is, pluggable alternate syntaxes that run in an interpreted environment on top of the JVM. They’re shipping one script engine with Java SE: JavaScript. The others (Ruby, Python, etc.) will be available for download. Sun promotes script engines as a feature for rapid development, and for parts of a system that change frequently, while still encouraging Java syntax for most code.

Another positive trend is toward ease of development. This hasn’t necessarily been a high priority for Java in the past. In this category, they’ve brought web services features from Java EE into Java SE, they have a new layout manager, and new features for sorting and filtering tables and lists (what many would call data munging). All of these features will be included in the open source release of Java SE later this year.

Another interesting change in this release isn’t in features, but in their process of development. They’ve had a much greater community involvement in this release than before, with weekly builds available to the community. Danny commented that the regular bug reports and feedback from the community have made the development process much smoother. Instead of one big release and a flurry of reports around that release, they’ve had a steady stream of input as they go. It’s a big philosophical shift for Sun, and one they plan to continue in future releases of Java. Three cheers for the benefits of an open source model of development, even in big enterprise software shops.

tags: ,

Get the O’Reilly Programming Newsletter

Weekly insight from industry insiders. Plus exclusive content and offers.

  • http://www.jzip.org/ adamsj

    Alison,

    This is neat:

    From my perspective, the most interesting feature is the built-in support for what they’re calling “script engines”, that is, pluggable alternate syntaxes that run in an interpreted environment on top of the JVM. They’re shipping one script engine with Java SE: JavaScript. The others (Ruby, Python, etc.) will be available for download. Sun promotes script engines as a feature for rapid development, and for parts of a system that change frequently, while still encouraging Java syntax for most code.

    I went to the listing, and it looks like every popular scripting language but one is represented: Perl. Any thoughts on why this is the one missing language?

    I’ve got two conjectures. One is that the effort being put into Perl 6 and Parrot has diverted resources that might’ve otherwise been directed toward writing a Perl scripting engine for this project. The other, which I think more likely, that this project, like Perl 6 and Parrot, is a scripting language running on top of a virtual machine. Are they not kind of in competition?

  • dave glasser

    adamsj, it doesn’t seem too surprising: after all, JavaScript, Ruby, and Python already have multiple implementations, whereas the definition of Perl is still bound pretty tightly to the C perl implementation.

  • http://radar.oreilly.com/allison Allison Randal

    I went to the listing, and it looks like every popular scripting language but one is represented: Perl. Any thoughts on why this is the one missing language?

    No one felt inspired to develop it? Jython and JRuby were both developed by independent volunteers before Sun had any interest in running Python or Ruby.

    If I had to venture a wild guess, it would be that there are fewer Perl users who also use Java than there are Ruby or Python users who also use Java, due to a combination of culture and psychology.

    I’ve got two conjectures. One is that the effort being put into Perl 6 and Parrot has diverted resources that might’ve otherwise been directed toward writing a Perl scripting engine for this project.

    Keep in mind that not all Perl developers are interested in Parrot, and not all Parrot developers are interested in Perl. They’re separate, but mutually beneficial projects.

    The other, which I think more likely, that this project, like Perl 6 and Parrot, is a scripting language running on top of a virtual machine. Are they not kind of in competition?

    It’s competition of a sort, but hardly cut-throat. As the architect of Parrot I greatly enjoyed talking to the architect of the next version of Java SE. And the architectures and goals of the two projects are quite different. It’s unlikely that they will ever even be directly competing for the same users, since the JVM is going for code that is primarily written in Java, with a few pieces written in another language, while Parrot is going for code that’s entirely written in a combination of Ryby, Python, PHP, Perl, etc. (Though we have considered writing a Java bytecode translator, similar to our .NET bytecode translator, in case a project wants to plug in a bit of existing Java code.)

    I’m a firm believer in the notion that diversity strengthens open source.

  • scott

    When is the Java in a Nutshell covering Java 6 going to be published?