Day 2 of jfokus started with a content free keynote on the future of Java. Cameron Purdy from Oracle couldn't say much due to the snorcle press conference later today on the acquisition of Sun. Still it was not the worst keynote ever. I think it grabbed a second place far ahead of javafx and robots and far behind first years nice talk on java as open source by Simon Phipps.
Then off to the thought challenging talk on unconscious taylorism by Marcus Ahnve. He traced a lot of our problems with software back to the early days of industrialism and its emphasis on an effective overall system. Every task was specialized and performed in batches leading to skills oriented organisations. You know . system architects in one group and developers in another, usability experts in one group and system analysts in another, maintenance in one place, operations in another and development in a dependency position to the former two. This is the way most organisations do their work. It is like a big engineering practice. Marcus emphasized the need for individuals quoting the agile manifesto: "Individuals and interactions over processes and tools". It was not clear from the speech why this emphasis is good. My answer is that software development is a creative process where the individual must be given a good environment to be creative in. The talk reminded me a lot of Richard Durnalls splendid JAOO talk on "The IT division. Refactored" (review here). They both cited Matsushita on the western failure and while Richard talked more about the alternative (process oriented organisations), Marcus talked more about the cause. Another reference that popped into my head was the programmers stone. Marcus referenced some non technical guy that talked about them and us, evil and good - it sounded a lot like the mapper - packer thing in the programmers stone. I liked this talk a lot and afterwards I've been thinking that there may be similar causes for the use of the "architecture" metaphor - bashed here.
Next I went to the pair programming show where Niclas Nilsson
and Hans Brattberg
illustrated problems and possibilities with pair programming by actually playing a number of typcial scenarios. Nothing new here but great fun and a good reminder.
After lunch I felt obliged to go enterprise. (Ok - I know I told everyone that I counted out all sessions mentioning enterprise and performance..... I'm sorry - I let you down.) This was the talk about Java EE 6
- a really good talk by Alexis Moussine-Pouchkine about a really boring subject. Seems like the new stuff in Java EE 6 is really nice and useful and will make life better for the developer. I don't particularly like the heavy use of annotations but it sure is powerful. The new Schedule annotation is still very verbose compared to a cron job definition but to be an enterprise solution is looks really smooth.
To outweigh the bad influence of the enterprise I went to the JRuby
session with Charles Nutter
. This was perhaps the best talk at jfokus this year. Entertaining and technically brilliant. The nicest part was how to transform a Java program to a Ruby one. A great way to show the unnecessary verbosity of Java. I knew most of the stuff in this talk since before but since I like ruby it was great anyway. As for the benefits of Ruby on the JVM I think it is a great selling point to enterprises that already invested in a J2EE infrastructure. No need to change that if you want to use Rails for you applications. (What they don't know is that it would probably be even easier to set up a pure Rails installation using apache....) Arguments for JRuby instead of standard Ruby is mostly around performance. For example - JRuby takes advantage of Javas threading model which makes it easier to scale an application. JRuby also runs faster in general. Another big selling point is access to Java libraries. I am not sure how often you really need something that is only Java but it may make lots of sense in a Java enterprise environment where other in-house apps and libraries are built with Java.
I ended the conference with two fluffy lightning talks about feedback and leadership. The content of the conference was good and I had a lot of networking going on. 5 year celebration next year!
Anyways, regarding Java EE 6, there is of course one great new part - Bean Validation. Hmm, hang on I might be biased here now :)
Nice to hear that you get into (J)Ruby. I did a little Ruby ages back, but it is a long time now that I left the Java world :(