Friday, June 10, 2011

A short summary of NDC 2011

For the last few days, 7 developers from Nansen Stockholm were attending the Norwegian Developers Conference in Oslo, Norway. The 3 days were jam-packed with great and inspirational talks covering a wide array of topics and technologies.

When selecting which talks to attend, I made a conscious choice of avoiding talks that seemed code-heavy as well as talks that seemed to cover to narrow of a field. Instead, I opted for talks that talked more of "why" instead of "how". I did this because in my experience, techy talks are usually much better when viewed on a computer so one can pause and reflect and digest what was being presented.

I started of with a talk by Robert C. Martin, also known as Uncle Bob and author of books like Clean Code and the newly released Clean Coder. He gave a magnificent talk about how programming languages have progressed through several paradigm shift and how we may have seen all types of languages that are going to exist. Given that, what would the final programming language look like? According to Uncle Bob - probably something like Clojure!

Next up were two talks about F# and functional programming from Amanda Laucher. Just like Uncle Bob, she believed that the future of computer programming lays in functional programming that is stateless and hence easily parallellizable.

Jon Skeet ended the day with Async 101, which is the new way to handle concurency in C# (5.0?). A bit tricky and not as elegant as the functional approach, but still much neater than todays solutions.

Day 2 started of with a double session from Stuart Sierra who gave us a very solid training in the basics and not-so-basics of Clojure. I took a real shine to this language and considering it runs on both the CLR and JVM I'm definatly going to check it out more.

Uncle Bob was up next, this time talking about monads in Clojure. This talk was great, Uncle Bob did a great job of explaining this incredibly dense topic in a straight-forward manner, but at the end of this session my brain was leaking out through my ears. What I took away from the talk was that monads can be used to allow functions that operate on a certain type to accept and completely different type (note: I could be completely wrong :)).

I had a great conference even if I wish I could fork() at times to go and see several sessions at once. Luckily all session were recorded and should be released on the NDC site soon!