1 day of CommunityOne and 4 days of JavaOne went by in a flash. I’ve been to a lot of great, a couple of not-so-great and some really bad sessions.
To avoid information overload on semi-interesting topics I really tried to only go to sessions about topics I’m really interested in. For this JavaOne these where (in no particular order):
- alternative languages on the virtual machine
- methodologies
- the future of Java / JEE
- cool new stuff
I tried to avoid product pitches as much as possible! Some of my personal highlights:
- the No Fluff Just Stuff session at the g2one party
- Both Neal Ford presentations I’ve attended (JRuby vs. Groovy / Enterprise Debugging techniques)
- the scripting bowl
- Taming the Leopard with Java
I’m still processing everything I’ve seen, but so far I didn’t see to much I didn’t know about before; certainly nothing shocking. Here are some of my observations:
Java 7
Sun is adding more and more annotations, the Java 7 spec-leads feel it’s a safe way of extending the language; even though it decreases readability (well, that is MY opinion). They are even planning to extend the number of targets for annotations; in the future we will probably see annotations inside generic type definitions… auch!
I also sincerely doubt that we will see a useful implementation of closures in Java 7; the spec-leads don’t want to burn their hands on it; Gafter seems the only one who dares to risk his neck…
Alternative languages on the VM
Groovy gained a lot of traction the past years. Most mayor app-servers offer out of the box support and major speakers are promoting it (Neal Ford repeatedly called it JDK 2.0).
JRuby is looking better and better. It is now even possible to just drop your Rails app in Glassfish to make it run. I do however feel that some users should stand-up and really demonstrate the virtues of Ruby on the VM to get peoples’ attention. The Jython presentation(s) where horrible; I think they did more harm to the language than good. I saw some great demonstrations of scala; but popularity seems to be at an alltime low.
As I said I’m still processing al the information and probably blog about various nice details and insights. Now I’m heading towards a restaurant and some beers!
“Sun is adding more and more annotations”
Oh no, really?
Well I guess if you can’t fix it, you’ll have to extend in other ways. Soon a Java program will consist of a mail, the actual program logic live in type-unsafe annotations!
I completely agree; on both of your points. Honestly I don’t really know what to make of this trend that seems so popular as of late to create annotation-types for each and every framework or as the means for easy language extension. Some day we will have more annotation-style code that Java code in our applications. I highly doubt that this will encourage readability of my code. Furthermore, with more and more frameworks and specs providing their own annotation types the separation of annotations for different purposes in the code becomes a problem in my opinion. Maybe we need a meta-meta programming facility to structure annotations itself?
Have you read the blog post (http://www.michaelnygard.com/blog/2008/05/when_should_you_jump_jsr_308_t.html) by Michael Nygard about JSR 308? This is annotation overuse on steroids in my opinion. As you said, they plan to introduce annotations inside generic type declarations. While I see the motivation behind some of this stuff, I fear the day that I have to read code like that. Generics are the most complex and one of the more verbose stuff in Java. I don’t know if adding the ability to add annotations on generic type declarations is the way to go. Anyway, not before type inference is improved such that the verbosity of Generics is somewhat reduced…
Cheers, Martin
I’m curious to know why the Jython sessions were so bad.
@Daniel Berger:
The Jython session failed on several points: