JavaOne 2007 Wrap-up

Final Thoughts, and Open Questions

After four exhausting but inspiring days at JavaOne 2007 it’s good to be back in San Diego. I flew out of SFO Friday evening, still thinking about the final general session, hosted by James Gosling early Friday morning. Gosling had the pleasure to show all kinds of cool projects, gadgets, and devices, like small and also not so small robots, all featuring Java of course.

However, I couldn’t shake the feeling that he either hadn’t seen some of the projects before, or had already forgotten about them; you be the judge what would be worse.
Thor Norbye, Sr. Engineer at Sun and member of the Java Posse, once again was part of the show. This time he demonstrated the Ruby on Rails support in the upcoming NetBeans 6.0. Looking at the topics Thor covered in previous years (2005, Thor demonstrated Java Studio Creator 2, in 2006, he showed the Visual Basic language support in Java Studio Creator) however, it remains at least questionable how relevant NetBeans will become in the Rails community.

The conference seemed to have been put together in a hurry. Speakers had to submit their slides for approval and correction, which is common. Still, some speakers were quite surprised, obviously seeing their corrected slides for the first time. Some slides were completely deleted from the deck, other contained references like ‘.. also covered in session XXXX’, literally. Most of the demos that where prepared and presented by speakers from Sun broke down, especially during the first two days of the conference.
Now, all this is not a big deal at all. In fact, one can assume that they were really showing stuff they were currently working on and therefore it’s not surprising to see it blow up during a demo.

However, considering that JavaFX Script was hyped as the biggest innovation all-over the show but was mainly a marketing stunt (JavaFX Script a.k.a. F3 ‘Form Follows Function’, was acquired by Sun from Chris Oliver in September of 2005 with the acquisition of SeeBeyond), really makes you wonder what’s going with Java at Sun. Strangely enough, most conference schedules still had listed JavaFX related content under its old name, F3.

What about the Java on the Desktop?

Innovations, useful to Java on the Desktop, seem to come either from outside of Sun (e.g. Romain Guy (now at Google), Kirill Grouchnikov, Ben Galbraith’s Swing productivity framework, or not even from not desktop related groups and technologies at all, like Java-DB (a.k.aApache Derby and formerly known as Cloudscape) or Java Persistence API (JPA), which fortunately can be used without a container (see Using the Java Persistence API on the desktop).
Java-Desktop related innovations that are pushed by Sun like Beans-Binding for instance (which in my opinion was prematurely implemented and pushed into NetBeans) are totally off, overly complicated, and not completely thought through; using totally String based EL (Expression Language) to define bindings in compiled code, come-on, you cannot be serious.

Binding binding = new Binding( caricature, "${eyeStyle}", eyeSlider, "value");

Having a complete HTML renderer in Java on then other hand, like available in Adobe-Apollo for instance, is still not even on the radar.

Does Java still need Sun?

After open-sourcing Java and seeing projects like Apache Harmony, or BEA’s JRockit Liquid VM, which can serve as an operating system image in VMWare, rather than requiring a supporting host OS (see JRockit’s Liquid VM could be the first real Java OS), the answer seems obvious. It’s probably nice to have Sun around but Java has grown-up and found new friends; Java has simply left the nest, not needing it’s parents (Mr Gosling and Mrs Sun) anymore. Sadly though, grown-up on the other hand may also stand for not growing anymore.

Submit a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>