May 26, 2006

JavaOne 2006: Day Three

Darn. I missed the beginning of IBM's morning keynote. Typically it wouldn't be a big deal as the keynotes, especially the non-technical ones, are mostly marketing talk and thus not-so-interesting for me, but this time it was really good: IBM walked through the whole development process of Eclipse, showing loads of plugins they are using, the testing systems etc. Eclipse may not be *the only IDE* anymore, as NetBeans and IntelliJ IDEA have been making some waves recently, but Eclipse's development and shipping track record is incontestable. From Eclipse WTP 0.7, every milestone build has shipped at the exact date decided a year or more earlier, there are no build re-runs because of issues emerging after the release and the milestone builds tend to be highly usable very early on. It's quite a lot better than our track record... Anyway, they call the development environment Jazz and some of the plugins are already publicly available and some others undoubtedly will be released sooner or later - I have to see if there's anything we could use.

I tend to choose sessions that are *really* bleeding edge and I don't have much knowledge about. I see no much point sitting in standard EJB 3 best practices or web application frameworks smackdown sessions as they don't offer me anything new or anything I couldn't just read on the web. So logically, I found myself in many Mustang/Dolphin (Java 6 / Java 7) sessions, one of them being "Dynamically typed languages in Java platform". This session was held by Gilad Bracha, obviously a _very_ senior engineer working on JVM development at Sun and leading some of the JSR proposals (Same guy that held the controversial super packages session the previous day). He has very dry, but entertaining humor, take these quotes for example: "So some people are asking why do we need these dynamic languages, and, because they've lived in this dark cave for all their lives, they have no idea of what they could do with them" or "and I proposed this several years ago, but customers weren't asking for it at the time... of course, entirely different matter is customers weren't asking for Java either, but sometimes the customer just doesn't know what's good for them". Anyway, a scripting/dynamic language support inside JVM is a good thing, and much less of a controversial topics as super packages are. I really like dynamic, untyped, late-binding languages, but after some years of LotusScript, JavaScript and ActionScript hacking, I do know their limits as well. Most of the dynamic scripting languages tend to be classless, prototype-based languages today, which I view as a good thing.

I had to go to "Advanced JavaServer Faces Custom Component Development", but I knew I'd be disappointed. People are hacking together some cool components, like SVG rendering for charts and bars - boy, it's a doom's bell for Flash - but overall, writing JSF components look like how servlets were done 10 years ago, outputting HTML directly from a servlet, or writing SQL without any persistence layer (JDO, iBatis, Hibernate). It works on a higher abstraction layer, but developing and maintaining the component code is a mess. XSL transformation approaching would have been a much cleaner approach, albeit likely slower.

DOJO session was next - Dojo is making its way to become the de-facto Javascript framework for server-side Java web application framework, both used in MyFaces subprojects and Tapestry. This is one of the key thing and problems with prototype-based languages: because they are so flexible, any object can change the run-time behavior of object ancestors and happily overwrite critical properties or operations. This is why a single (or only a few) framework that's good enough is so important for any high-quality Javascript implementation, much so than for a statically typed class-based language. It's also where Macromedia went so wrong with ActionScript 2.0 by adding class-like features into an inherentely prototype-based language. DOJO is cool.

In the evening, I attended the MyFaces party organized by Oracle and CA. Among others, even Craig the man, err, McClanahan was there, and of course a lot of other people I knew only through mailing lists before. It's nice to put faces on names. One of the topics I discussed with Craig, and complimented him on improvements in NetBeans (he's leading Java Web Studio Creator at the moment) and of course, we glanced off the touchy subject of Sun possibly ever collaborating with IBM on Eclipse. Craig's response was expected: "You know, for starters, they'd need to change the name" ;)

The last session of the day/night was Trails (starting at 10:30PM!), I just really wanted to go see it and meet the guy behind it. In short, Trails is domain-driven development model in Java along the lines of Ruby on Rails and NakedObjects, only better (subjective opinion of course, but because it combines best of breed frameworks already existing in Java).

Posted by thoughts at May 26, 2006 02:47 PM | TrackBack
Comments
Post a comment









Remember personal info?