At NxtGen’s Fest event back at the beginning of July, I bought a copy of Bruce Tate’s excellent and highly-regarded book Seven Languages in Seven Weeks. The aim of the book is to teach you seven new languages (in seven weeks!) to change the way you think about your code and the languages you use in your day-to-day job. Each language covered (Ruby, Io, Prolog, Scala, Erlang, Clojure and Haskell) approach problems in a different way: Ruby is a pure object-oriented language with dynamic typing, for example, whilst Haskell is a pure functional language; Scala bridges this gap somewhat, whilst Prolog resides in a completely different paradigm all of its own (logic programming); Erlang is great for multi-process applications, underpinned by a philosophy of “let it crash”; Clojure is an implementation of Lisp for the JVM, and I’ve never even heard of Io.
You can track my progress through the book via the GitHub repository I set up for it.