The day started out with a keynote from Oracle. Some interesting stuff. The mentality of Oracle hasn’t changed much over the years. They provide an IDE, runtimes, database integration that is very seamless but hopelessly proprietary. It’s all “standards based” meaning where they use standard plumbing and interfaces. However the key thing here is LOCK-IN. They have tons of Java code to make all the magic happen and it all starts with “com.oracle”. So do you use the magic (and their tool), embrace it, debug it, or just learn to use open source solutions? Very slick Oracle, but no thanks. They ran way over time too.
The first session I attended was a panel (PAN-5435). This was a fun idea for a panel. They had 4 script language presenters (Groovy, JRuby, Jython, and Scala). They had 3 rounds to show similar features with demos and you voted on your cell for the winner in each round and a final winner. I think the winners in order were JRuby, Groovy, Scalia, Jython). If all the presenters had done their labs it would have been better (some didn’t do the example they were given). I would have done JavaScript probably as well. Decent session, fun.
Next I missed the Hands on Struts2 session for a work-related conference call. After grabbing some food I hooked up with Bob Lee for some coffee and we discussed a variety of interesting topics from Android to twitter. Always fun to talk with Bob – hopefully we can get you to move back to St. Louis some day!
The next session was a JRuby versus Groovy – TS-6050 (noticing a trend?) This was arguably the best session I’ve attended. The presenter (Neal Ford) was highly knowledgeable, gave a ton of thought of how to compare, and was an excellent speaker (bring this guy back Sun on any topic!!!). Bottom line is Groovy is a lot like Java and carries some of the verbosity and restrictions. It is an excellent choice for many applications. Things I liked about Groovy: Operator Overloading, closures, ignores private (great test tool), dynamic… JRuby had a ton of things I liked but not very “Java”. The ability to layer a DSL for a framework, expressions, mix-ins (modules), mature, very cross platform (it generated a distributable exe and app file). I think the JRuby language, save the fact it is very different than Java, has a lot of things going for it over Groovy. Top notch presentation and session, I learned a ton of stuff that would have taken a lot of time to sift through on my own.
The next really interesting session was something I deal with a lot in my job – open source – and the politics of it. What really is open source? How do trademarks affect it? Is M$ shared source really “open source”? What is OSI and how do they categorize open source licenses? Those were some of the questions I got answers for at TS-7064. Great advice to corporations participating in open source. Anytime you can see Simon Phipps speak it is worth it.
We spent some time in the Pavilion with some vendors, one interesting tool was project Wonderworld. They have some very interesting ways to use SecondLife type of environments for corporate/business collaboration and visualization. Very great ideas but I think a bit before their time.
We were fortunate enough to have dinner with some of the JRE engineering team (compiler, gc, and other developers). That was very interesting. I got to ask a java compiler guy all my crazy stupid questions (well a few of them). Very interesting to hear some of the guts of how the new JRE (6 update 10) works with the smaller JVM bundle you can bootstrap with. Some of this is way overdue and exciting to see it happen. My own company is so far behind the latest releases I know it will be a while before we can use it.