Erlang

One of my commitments for 2007 was to learn a bit more about functional programming. Even if I don't use it, I think I need to at least understand it. Found a 32-page "Thinking in Erlang" paper (PDF) a while ago, which turns out to be a very gentle introduction - note that Erlang is not just about FP but also about massive lightweight concurrency. It's quite a change in mindset - one thing that becomes clear is how failure modes are much better defined and dealt with, even across multiple machines.