Wednesday, February 16, 2011

Jfokus Conference

This week I had the pleasure of attending the JFokus conference in Stockholm, Sweden.  This was a gathering of some 1250 Java geeks and some excellent speakers.  I thoroughly enjoyed sessions by Arun Gupta, Guillaume Laforge, Mario Fusco, Henrik Kniberg, Neal Ford, and many others.  Here are some of the technologies that caught my attention and I will be considering putting to use at my current work on the Eplica CMS system.

  • Lambdaj - This library is just brilliant and really simplifies working with Collections.  Write more readable code in fewer lines.  Stop writing loops!  Mario Fusco's slides.
  • CKJM - Use this library to intelligently pick areas of your code base to refactor.  To get bang for your buck you want to pick classes with high Cyclomatic Complexity and high Afferent Coupling.  That is, complex code in frequent use.  Comes as part of a Sonar plugin.  And BTW, if you are not already using Sonar, use it!
  • Groovy - I have been intrigued by this language for some time now but never actually put it to use in my work.  I think it is time to change that.  Groovy to me is a natural progression of the Java language.  Making the boring/tedious parts of Java optional and adding syntax improvements and useful features like closures.  The kind of changes you might envision seeing in Java 10 or somewhere way down the road.  Why wait so long?
    As a starting point I am thinking about using these Groovy frameworks for our web based testing:
    • Geb - Browser automation framework based on Selenium.
    • HTTP Builder - A convenient API for complex HTTP requests.
  • WADL & Jersey - When consuming/publishing RESTful web services from/to our customers I prefer to have a contract to work by.  WADL is just that and Jersey an API (JAX-RS 1.1 implementation) for creating/consuming REST services.
  • JDK 7 - Obviously eagerly awaiting that one.  Planned GA date July 28, 2011, according to Tomas Nilsson at Oracle.
Other technologies I found interesting but don't envision using in the near future (just not a good fit for Eplica CMS): Scala, Clojure, deploying to the cloud,  NoSQL, Vaadin and DDD.

All in all a great conference which I highly recommend to Java developers.

4 comments:

Unknown said...

Thanks for the overview, there are some very good points there :)

As to Groovy, after reading the following quote by the creator of the language, I've always been a little put off by the language: "I can honestly say if someone had shown me the Programming in Scala book by by Martin Odersky, Lex Spoon & Bill Venners back in 2003 I'd probably have never created Groovy." (see here: http://macstrac.blogspot.com/2009/04/scala-as-long-term-replacement-for.html). If the creator of Groovy has jumped ship for Scala, why should I use it?

To me Scala looks very impressive and it appears to be gaining a lot of momentum. I find Clojure very interesting as well, but I don't think it will catch on, it's just "too different" from Java.

As to Lambdaj, in essence it's just a hack aimed at bringing some of the concepts from functional languages to Java. It would definitely come in handy if one had to use Java. Scala being a functional language would render such a hack absolutely unnecessary.

Steinn Jónsson said...

Thanks for the feedback. I agree Scala is an interesting language that is gaining momentum. The Scala track at Jfokus was pretty packed. I guess I don't know it well enough to truly appreciate it. Groovy gives me immediate fixes to the little things that annoy me about Java (excessive non-optional boilerplate code, required exception handling, poor language support for collections & arrays, etc.). So that's where I'll start. But I'll keep a close eye on Scala in the future.

Anonymous said...

Hi,

A very nice trip report! Maybe we should take a beer when I come visit Iceland soon. Hope you come back next year and bring some friends!

And be sure to be at the Keynote! You made me look like a fool when trying to introduce you here in Stockholm ;-)

/Mattias

Steinn Jónsson said...

Thanks Mattias. We had a great time!
Sorry about the Keynote absence. We got there about 5 minutes late! I guess Icelanders are not known for being punctual. But we like to blame this one on the beer and poker at bwin the night before :-)