Brian returns to the big Java conference and finds it changed.
Having attended JavaOne a number of times in the pre-Oracle era (winning RockStar and Duke's Choice awards along the way) I was curious to see what the conference had become. My paper on “Advanced Beginner Scala” had been accepted, so the trip would be at relatively lower cost, or so I thought.
In the Age of Oracle
One impact of combining JavaOne with Oracle Open World (OOW) is that instead of 15,000 attendees there were now closer to 60,000 (though only about 2,000 of them were for JavaOne). This meant that hotels were obscenely expensive. My Holiday Inn in the Tenderloin (a sketchy part of town) was $300 a night!
Knowing the conference had shrunk from its glory days was one thing; experiencing it was another. The opening Keynote talk was held in a room with a capacity of about 1,000 and it wasn’t close to full. A far cry from the days of filling Moscone to overflowing.
Another thing that was just plain weird was that they didn’t provide coffee in the morning until after the first set of talks each day. That may seem picky but this is a Java conference, right?
There seemed to be two distinct but unofficial tracks at the conference: traditional Java and non-Java JVM languages. Of the 400 or so talks, fully 40 of them included Scala in the title, and during one of the Keynote panel discussions several panelists talked about using alternate languages. It was interesting to see “non-Java” morphing into “Scala, Groovy and others.” Haskell, Clojure, and JRuby were mentioned, but only as “other choices.”
In the traditional Java track the main emphasis was on the upcoming (as in, sometime next year) release of Java 8. This had a feel of desperation to it that reminded me of the Samsung advertisements mocking Apple fans waiting in line for the next phone. “This time we’re going to get everything we didn’t get last time,” was the message. “And if not this time, then next time for sure!” So Java will finally get closures but not a module system. The module system, code named JigSaw, has been deferred until Java 9, sometime in 2015.
Along with the hype for Java 8 was the assertion that “almost everyone has upgraded to Java 7 so going to 8 will happen quickly.” This of course is pure spin, as quickly became evident if it wasn't already, when several presenters polled the audience for the Java version they were on. The results were consistent: most people were on 6, some on 5, some on 7 and then some still on 4. So, your average Java programmers working in a moderately conservative company (which might be a redundant statement) likely won’t have access to Java 8 for two to three more years at best.
Many of the Java talks just seemed tired, like the presenters couldn’t dredge up the enthusiasm. I attended one talk on techniques for writing bug-free code that spent the first 30 minutes of the hour convincing us that finding bugs early in the waterfall cycle was less expensive than finding them in the field. As I tweeted upon leaving: a great insight from about 1985. In many of the talks the presenters, upon advancing to each new slide would say (and I’m not making this up) “So, ah, what does this slide say?” They’d then read the slide, figure it out and then explain it to us. Really?
A typical view of the screen in the hotel conference rooms
A clue that the organizers were either bored or expected the attendees to be bored was the absence of survey sheets for the talks. In past years you couldn’t leave a session without being handed a survey card you were supposed to fill in to rate the talk. In my experience, past conference organizers and speakers took these very seriously because high ratings could lead to “Rock Star” status... and that’s the only way I’ll ever get to be called a rock star! This year the surveys were missing... unless you happened to stumble upon the “survey” section of the Schedule Builder. When I asked several conference organizers about this, they replied “Oh yeah... we should probably tell people about that.”
A strange confirmation of this “tired” assessment came from a conversation with someone from Oracle’s Java Magazine. The cover story was on James Gosling’s latest project: semi-autonomous solar powered surfboards. These highly instrumented drones wander the oceans collecting data which is then sent to central servers. Very cool technology. Java-based of course. The title on the magazine cover was “Java At Sea.” When I asked the person if they were aware that the title could be interpreted in different ways, they just smiled.
The Good Stuff
But it wasn’t all bad. On the positive side, there were a number of very good talks on the care and tuning of the Garbage Collector, and there were deep dives into the byte codes generated for the new language features such as closures.
Venkat Subramaniam was there and his talks were, as always, interesting and entertaining. His talk on Java Generics was outstanding... especially as I thought I already had a quite thorough understanding of the topic. (Turns out I still had a lot to learn.)
As for my contribution, I gave a talk on my experience rewriting my open source music project log4jfugue from Java into Scala. The project shrank from 2,500 loc to 250 loc. I emphasized the fact that I’m at best an advanced beginner in Scala, and that you can do quite a lot using just the simplest subset of this powerful language’s features. Did my talk come in on the boring or interesting side of the ledger? Well, the talk seemed to be well received... at least no one walked out during it! I’d tell you what I got for survey results, but....
In summary, JavaOne seems over, and Java is well on its way to becoming the language you code in when you don’t have a choice.
Brian sent the following update as we were going to press:
I actually did get my survey results back. I had 98 people attend the talk and four people found the survey URL buried on the Oracle web site. I got a 4.5 out of 5 but with only four responses I can't be too excited.
Brian Tarbox is a Distinguished Member of Technical Staff at Motorola in the Systems Engineering group, designing next generation video products. He writes a blog on the intersection of software design, cognition, music, and creativity at briantarbox.blogspot.com. His primary contact point is about.me/BrianTarbox .