February 10, 2013

Jfokus 2013

Here are some of my impressions from the Jfokus conference here in Stockholm. The venue and content was better than I expected, and it was interesting to hear talks and spot trends around the Java platform. The scope was even broader than Java and the JVM, which was nice because I wanted to focus more on the web platform.

The functional programming trend is still strong and will probably be mainstream when lambda expressions comes with Java 8 this autumn. Here in Sweden Scala seems to be really popular with several talks on that subject. However, I believe pure functional programming still will be a special field since monads are too hard to understand for the average programmer.

For me the high point during the conference was seeing +Seth Ladd presenting web components and the Dart language. It was a really compelling story to see how you can create reusable web components already today. I really hope innovation prevails and that Dart will become a sane alternative to Javascript.

In the closing session, +Dan North gave a fun and thought-worthy presentation where he sought simplicity and questioned complicated architectures and frameworks. There were many takeaways, such as that I have to buy a bath duck to put next to my computer .What he didn't say is that we need to find abstractions to cope with complexity and using encapsulation is key to achieve that. Dan said he felt liberated using Javascript with Node.js because he could focus on real problems... For me it is just the other way around, I feel I have to write lots of boilerplate code on the web platform compared to when writing desktop applications on the Eclipse platform with lots of reusable components.

Until Dart and web components takes off I think I found a real interesting alternative. Our fellow Scandinavians celebrated the Vaadin 7.0 release on the way to the conference and after listening to a few talks and playing around with it, it seems to be a really productive environment. They have their own component library with over 300 reusable components to choose from, such as nice looking charts. An interesting possibility is that you can even use Scala with Vaadin. But why on earth should you be using Vaadin? Their CEO +Joonas Lehtinen explained that the reason is that you should be able to write professional looking web applications for the business with a low budget. I think that is a really good reason.


  1. About monads, I think this groovy library explains it quite well, https://github.com/dsrkoc/monadologie.

    Funny with the Java vs Javascript thing. I feel I need to write much less boilerplate and with less ceremony in Javascript than with Java. I guess to a big extent it's really a matter of taste and how well you know a language and the tools around it.

    1. Douglas Crockford has a really entertaining talk about monads here: http://www.youtube.com/watch?v=dkZFtimgAcM, "once you understand monads you loose the ability to explain it to someone else".

    2. I've never been able to explain them, does that mean that I've always been understanding them?