Tuesday, October 25, 2011

This Is Not Your Father's Java

The Java language and so its community has traditionally been relatively conservative when it comes to API design and language features. After all Java seems to be the very last language on earth without closures! Also a lot of other language features are highly demanded by many people.

With limits come creativity! 

To compensate for the verbose language and missing convenience, the Java community created the three single best IDEs in the world. Also the popularity and maturity of code generation and language add-ons like AspectJ or even XML stems from the limitations in Java as a language. With the rise of alternative languages for the JVM, Java folks started to think out of the box. Modern API design is pushing Java to its limits and with some creativity you can even emulate missing language features.

Next week at EclipseCon Europe I'll be giving a talk on creative API design in Java.

The talk will be structured like a quiz: I show a working piece of Java code to the audience and explain what it does. Then you tell me how it does so. So it's a slightly similar structure to the popular Java Puzzlers talks but in this case the puzzlers are actually unconventional but useful idioms. I expect a lively discussion about the pros and cons of the various idioms and I'm almost sure there is something new for everybody. Feel challenged? Come to the session! :-)