Sunday, June 21, 2009

JavaOne 2009 impressions

This year was the first time I attended the JavaOne conference. Previously I would focus on local events, such as NFJS and SD Best Practices. This time though I followed advice of several JavaOne alumni who convinced me it's quite an experience and worth the trip.


It was not only my first time at the conference, but also my first visit to San Francisco and West Coast. Coming from Boston and heading to California I expected San Francisco to be much warmer in June. Instead, with the exception of couple of sunny intervals, I had to wear long sleeves at all times. For some reason it felt chilly even in conference rooms.

The conference overall was very well organized. However, food, especially lunch, was a slight disappointment. Although I haven't attended conferences of this size before, I was expecting some more choices and warm food instead of lunch packages. On the other hand, the fact we were given a hand sanitizer during registration, as well as multiple of them positioned throughout the conference area was a pleasant surprise, especially since swine flu was still a bit of a concern.


This year Sun was really pushing hard for JavaFX technology. It was well covered during general
sessions and had quite a few specific sessions dedicated to it. Moreover, its demos looked cool and it finally makes the "Java = everywhere" mantra true. The prevailing feeling I received from general sessions was that Sun was trying to assure us all that Java as a language is far from getting retired. In order to boost our confidence in Java's strength, the sessions were full of showcases of successful companies which implemented their whole technology stack in Java. Word "innovation" got mentioned a lot, but even new features in SE 7 and EE 6 just look like a result of catching up with other frameworks from Java world. Especially with closures out of the picture for version 7, Java will still be much more verbose and less expressive than majority of the alternative languages targeted for JVM. Technical sessions which compared Java to those alternative languages by presenting language specific solutions to same problems, were an actual proof of this.

The most innovative piece of technology I learned about at the conference was
Drizzle
. Monty Taylor gave quite an entertaining talk about Drizzle's history, objectives and features. It sounds so compelling that MySQL will probably in future be used just for legacy reasons, at least in the web application arena. It will also be interesting to see the direction of this project after Oracle acquisition of Sun is completed.


Speaking of technical sessions, I truly enjoyed presentations from regular JavaOne Rock Stars:
Soctt Davis's talk on Resource Oriented Architectures, Brian Goetz's and Cliff Click's talk about VM modern architectures, Rod Johnson's talk about new features in Spring 3.0 and Josh Block's talk on Effective Java. In addition, I was pleasantly surprised and really learned something out of presentations from Bill Venners on Scala, Jonas Boner on JVM Alternative Concurrency Paradigms and Alex Miller on Java Concurrency Gotchas. I highly recommend seeing all of those.

I promissed myself this was going to be the last conference where I would select sessions
primarily based on the topic. Namely, in several sessions into which I was greatly interested the presentations weren't so good and they barely increased my knowledge on the topic, if at all. I can't comprehend how some presenters can just read through slides or do an immediate deep dive without first giving an introductory overview. Jared Richardson, for example, in his Career 2.0 presentation talks about this and nicely gives tips on preparing a successful presentation. Furthermore, some speakers apparently find it sufficient to just place code snippets on slides and expect the audience to quickly digest it. All it takes to see how to properly do it is to attend one of the Josh Block's talks and pay attention how he slowly explains every line of code, no matter how trivial it looks like. So, next time, I am firmly determined I will build my schedule entirely based on speaker reputation. I wish I knew about the JavaOne Rock Star Wall of Fame before the conference. Even if I end up at let's say a UI session (which is not my area of expertise), I am sure I will learn something new since an interesting speaker will most probably attract my interest to the subject.


I was also kind of expecting more prominent presence from Google. I would have rather seen them
talking in general sessions than Microsoft or IBM. Of course, they had their own developer conference (Google I/O) just prior to JavaOne, but they are also one of the biggest innovators in Java space. The other problem is the fact they are still fairly secretive. I did attend one of their BOFs and right in the beginning the answers from Google team started along the lines of "We can't really talk about that".

Overall, I find the biggest advantage of JavaOne over smaller conferences the ability to hear more first class speakers who are leaders in their field (language founders, framework authors, etc...). And finally, attending developer conferences in general brings many benefits: you get to see the latest trends, take a peek into future technologies and discover some exciting existing ones for the first time...