Skip to main content

Java One 2009 Day 1

Posted by cayhorstmann on June 2, 2009 at 10:53 PM PDT

The Morning Keynote

I am no fan of keynotes, but I figured I should earn my press pass (thanks
Jacki!) and show up.

The keynote started auspiciously, promising a release of Java SE 7, but that
turned out to be irrational exuberance—it was just another JDK 7 build.
This may seem a trivial distinction, but it is not. There is no official JSR
for Java SE 7, and at tonight's JCP party unnamed but knowledgeable people
agreed that Sun was not moving forward with the JSR because they are nervous
about Apache Harmony. Perhaps the plan is to forge ahead with JDK 7 and then
rubber stamp a fait accompli through the JSR process, which would not be good.

Apparently, every keynote must go through the usual dreary ritual of
allowing paid sponsors to say their part. This time, we had

  • A fellow from eBay, offering zero detail why Java was wonderful for the
    eBay data center
  • A fellow from Blackberry bragging about the fact that they are the #1
    smart phone (which, as remained unmentioned, has its own API, not JavaME or
    Java FX), and showing off the xobni app
    that uses that API. Apparently, xobni scrapes your information from
    Facebook, LinkedIn, Twitter, etc., making it available in other people's
    BlackBerry contact list. Such a comforting thought...
  • A fellow from Sony showing a pointless movie about Sony and Blu-Ray.
    Imagine my excitement when I learned that I too can particulate in
    interactive trivia games (their term, not mine) and earn points for some
    unspecified purpose.
  • The CEO from Verizon, who has the demeanor of a used car salesman, just
    like you think he would after looking at your Verizon bill. He admitted
    that perhaps they had been a bit overprotective in the past about
    controlling what Java apps could run on “their” phones (i.e.,
    as far as I can tell, none). He promised to release an API on July 27 that
    would let developers take advantage of information known to Verizon, such
    as the phone user's location, friends and family, and so on. Such a
    comforting thought...
  • And, to top it off, an indescribably pointless love-in between Jonathan
    and an executive from Intel.

Once we got that out of the way, things got more interesting. There was a
demo of a Korean made TV set running Java FX. This was the first really
compelling use case that I saw about Java FX. Flash or Silverlight aren't
plausible candidates for running in a TV set. But Sun has experience in getting
Java into embedded devices, and you want flashy UIs there, not Swing. And there
is a nice per-device royalty coming Sun's way.

Nandini Ramani showed off a nifty looking authoring tool for Java FX that is
slated to be available by the end of the year.

Then there was a demo of the Java store, presented by James Gosling. The
idea is that a developer can put an app on the store, turning the labor of love
into day job. When I first heard about it, I was dubious, but I can see two
advantages. (1) The “drag to install” feature is nicer than
anything you can do on Windows today (2) The app store can automatically
install new versions.

Most importantly, at the end of the keynote, Scott McNealy and Larry Ellison
showed up. They said the usual things about not being able to say anything
until the acquisition was completed, but then Larry said soothing words about
being supportive of OpenOffice, Java FX, and Android-powered netbooks.

In the post-keynote press conference, someone asked why Java FX wasn't
developed under the JCP. Good question, I thought. Jeet Kaul, a Sun executive
said that the speed of innovation in this technology wasn't compatible with the
JCP. Ouch.

I asked about the sorry state of Java ME/FX on cell phones. I was reminded
that it takes a long time for phones to incorporate new technologies. Fair
enough, but the showcase phone for Java FX (which you can buy on the show
floor) is the HTC Diamond, running Wince. I think I'll pass.

In summary, this year's Java FX demos looked a lot better than last year's.
I did come away with the impression that the renewed focus on the desktop was
for real, and that Oracle might keep it going.

The Afternoon Keynote

In the afternoon, Bob Brewin hosted annoucements on the status of Java SE,
EE, and FX. Mark Reinhold gave a nifty demo on managing modules in Java SE. He
got a resounding applause when he said “the classpath is dead”.
Roberto Chinnici demoed Glassfish v3 and got a round of well-deserved applause
when he demoed “deploy on save”. If you have not experienced hot
deploy of an EE app, you should really give Glassfish v3 a try. It is a game
changer in terms of developer productivity.

I'll spare you the details about SOA and the app store.

Sessions

Joe Darcy talked about “project Coin” or small language changes
in JDK 7. Properties, reification of generics, and closures are definitely out.
They would impact too many parts of the JDK. He walked us through the many
issues raised by the introduction of enum. Personally, I wasn't
convinced that any of these issues were very complex. I keep complaining about
issues with JSF 2.0, but those are an order of magnitude more complex than
those mentioned in Joe's talk. Let's just say that the core team is very
cautious. Among the features that we might see in JDK 7 are

  • multi-catch:
    try { ... } catch (Extype1 | Extype2 ex) {
        logger.log(ex); }
  • automatic resource management:
    try (Reader in = new
        FileReader("foo.txt")) { ... }
  • [] for array lists and maps
  • Collection literals
  • The “diamond” operator:
    Map<String,
        List<String>> anagrams = new HashMap<>();

Well, it's better than nothing, but I have come to realize that the Java
language may well have reached the end of its evolution. For more
fun/productivity, it may be best to look for other languages on the JVM. I
attended the Clojure presentation. The href="http://en.wikipedia.org/wiki/Software_transactional_memory">software
transactional memory feature is intriguing, but otherwise, I think I'll
still consider Scala first.

I was on the “Tools and languages” selection committee again
this year, where we reviewed about 500 proposals for technical sessions and
BOFs. Many of them were excellent, and we could only accommodate a small
fraction. Rather than filling the entire allotment with JRuby talks
(←minor sarcasm here), I successfully lobbied for some of the more
advanced topics, such as Michael Ernst's presentation on href="http://groups.csail.mit.edu/pag/jsr308/">type checking annotations
(JSR 308) and Phil Haller's work on Scala actors. I was very happy to see
Michael's talk fill up with an attentive audience that asked lots of great
questions.

Overall, for me, the highlight of the day was seeing Larry Ellison on the
stage, appearing generally supportive of the entire breadth of the Java
ecosystem.