I had the opportunity to attend the JAOO conference in Brisbane the last few days. There were some really interesting talks and a lot of good discussions. I wanted to mention two points that were made at JAOO that have left me thinking, but first let me say a few words about the highlight of the event, for me. I loved Linda Rising’s two talks. I’ve never heard her speak before (although I’ve read her work) and, I can honestly say, her talks were fantastic. Both talks were funny, engaging and thought provoking. I won’t say anything further, suffice to say that I would recommend Linda if you every have an opportunity to hear her speak.
Now, back to the two observations that I had at JAOO.
The first occurred during Pamela Fox’s presentation on Google App Engine when she started talking about the limitations of BigTable. BigTable can’t do joins. This isn’t a problem if you’re building something new from scratch, but it’s a whole new world for companies that are entrenched in large relational databases. One of the questions from the audience left me thinking, “How would I migrate an enterprise scale application to Google App Engine?” I think the answer is quite clearly, “Not very easily.” Google App Engine and BigTable are entirely different beasts and are going to drive a whole new type of software architecture.
The next observation that I had was during Joshua Bloch’s keynote presentation about upcoming changes to Java. It was a good presentation and Joshua is a great, engaging speak.
In his keynote, he talked about Java generics. I won’t go into the details of Java generics because I don’t think it matters any more. Java generics is overly complex and confusing. This is a shame because it needn’t be that way. There are many languages where generics are simply accepted as part of the language without the need to call it out as a feature. When a language gets so overly complex that one spends more time trying to figure out the code than solving the problem, then it’s simply time to move on.
Java will still be around, much like COBOL and Fortran are still with us, but I believe, few and few systems of consequence will be built with Java.