Another day, another keynote. A fellow from IBM talked about cloud stuff. I sat through a lot of nebulous cloud talks, but this guy was good. He had a sensible slide on architectural alternatives, explained why we should all go out and buy a device for a ”data grid”—a memory device for sharing data among VMs—and he gave a demo of some software for configuring an app to run on their cloud server. Clear and to the point, like a tech talk should be. It had nothing to do with the “community” theme of the keynote, but you can't have everything.
Sharat Chander made the obligatory comment how the Java language was not all that important, but that the most important element is the community. I used to think that was just talk, but today, it made me think of a programmer who was ticked off for having received condescending answers on the mailing list. He wrote on Reddit “I tried to use Scala, and found it has one major disadvantage going for it, the community.” I can see his point. The Scala community can sometimes feel like a faculty commons room where everyone wants to prove that they are the smartest one. Martin Odersky, the creator of Scala, posted a plea on the mailing list to be kinder to newcomers, and it started a long discussion, some civil and some condescending. Apparently building a language is easier than building a community.
I had never quite realized to how much effort it must be for Sun and now Oracle to build that community. They do put a lot of thought into it. There is community involvment at multiple levels (JCP, JUGs, champions, education, etc. etc.). Managing that costs time and money, but I think the results are quite spectacular. When I work with other technologies, it is normal to see vendor support for fanboys or “valuable partners”. It is rare to have support for a vocal bunch of people who forever complain—because they love what they have but want it to be even better.
John Duimovich from Eclipse was on the stage and said that maximum effectiveness requires transparency. But it's hard to do. It's a culture change. It requires reinforcement from management and a sustained push from the community. Sharat asked ”How patient should we be?” His response: “You should be very impatient.”
That's how I feel about open-sourcing and standardizing JavaFX. Very impatient. I don't quite see why I should have to wait until the end of 2012 to run it on my favorite development platform. After the keynote, Peter Pilgrim (a fellow Java Champion and early JavaFX user) reminded me that JavaFX used to be in an open-source repository, but Sun closed it up.
JavaOne content will be available on parleys.com. Make that some contents. 40% of presentations will be released, starting with 20 talks and today 3 talks a week throughout the year. Parleys is hosting the content for free, but Oracle has to do the video production, which is not cheap. Stefan Janssen from Parleys suggested that the audience should put pressure on Oracle to have all talks available :-)
A fellow from Rockwell came to say how his company loves embedded Java. Then he left.
Come on guys—with embedded Java, you can show stuff. Robots, machinery, dials and gauges, whatever. Bring it on the show floor or, if it's too big, show us a movie. James Gosling used to have a toy show at the closing keynote. Bring it back!
The Sodbeans environment got a Duke's choice award. It allows visually impaired people to work in a modern programming environment. They have an “omniscient” debugger that can step backwards in time (and, of course, also forward like the usual debuggers). It talks, informing the programmer how the program state changes. They are also working on a programming language that is especially suited for screen readers, which sounds like a very interesting design challenge. It will soon come to the Java VM.
Finally, jHome is an
open-source home automation system, built on GlassFish and Arduino. What is it
good for? It can control lamps, locks, thermostats, and most importantly, in
the home of a programmer, the coffee maker. You can use CDI to inject a
CoffeeMaker
object into your JSF page, and use an EJB timer to
turn on the coffee maker in the morning. “What does the j stand for?” asked
the moderator.
Being a sucker for talks with snazzy titles, I went to “HTLM5 and Java: The Facts and the Myths”. It turned out to be about Project Nashorn, the new and improved JavaScript runtime for the JVM. It is a myth that this has any useful connection with HTML5. There was a proof-of-concept demo of Webkit running Nashorn, but so what? What's the chance of IE, Chrome and Firefox ditching their JavaScript runtime for Nashorn?
I finished the afternoon hanging around the Mason Street Café, talking to various Oracle people who weren't supposed to talk to me on account of my bright orange press/blogger badge. One of them suggested that Google's new programming language, Dart (which is described as a JavaScript replacement) might give Google a way of replacing Dalvik on Android with a JavaScript VM, giving them an out if the Oracle/Google lawsuit doesn't go their way. If so, it's even more unlikely that Chrome will want to switch to Nashorn.
Overall, the message that I got from this year's JavaOne is that Java SE and EE are alive and kicking. Finally, we have a good roadmap for Java SE 8 and 9. Java EE is doing great under an open process, and I am pretty confident that Java SE will get there (maybe not quite as quickly as I'd like). After four years of false starts, JavaFX has finally found a home as the presentation technology in Java SE. I just re-read my Java One blog from four years ago. At the time, my reaction to JavaFX was that I needed a new scripting language like I need a hole in my head, and I didn't want to write Flash in Java. I just wanted better client-side Java. It looks like that's what we'll finally be getting.
The conference location was ok, nowhere near as nice as Moscone but not terrible. The best part was the Mason Street Café, the block of Mason Street between the conference hotels. Attendance was up, and I ran into lots of very interesting people—that (and not my love for keynotes) is the real reason why I love going to Java One. I look forward to Java One 2012.