A while ago, I was thinking about which programming language I wanted to learn next. At first I was doubting between Scala, Ruby or perhaps Clojure. But I couldn’t really make up my mind. So I decided to pick up Seven Languages in Seven Weeks. This way I was able to take a small bite from a couple different cakes in order to decide which flavor I liked the most.
The seven languages that are discussed in this book are Ruby, Io, Prolog, Scala, Erlang, Clojure and Haskell.
I really liked Ruby and it’s nice syntax as this programming language is not a complete stranger to me.
I had great hopes for Scala, but it kind of left me disappointed. While exploring the syntax of this academic newcomer, I had this constant nagging feeling that Scala reminded me too much of C++. Don’t get me wrong, I do like C++. But while C++ was intended to bridge the gap between procedural programming (C) and object-oriented programming, Scala does seem to bring the same kind of awkwardness as it tries to bridge the gap between object-oriented programming and functional programming. I still find it a really fascinating language to learn, but it kind of fell down in my personal ranking.
The big surprise for me was Erlang. Although it’s syntax has its quirks, this is a truly powerful and fascinating programming language that piqued my interest.
Clojure was kind of was I expected and brought back some fine memories from the small, entry-level Lisp programs I wrote back when I was in college.
While I was reading this book, I briefly jumped into some other programming languages as well. Go, D and yes, even Smalltalk are other programming languages that sparked my interest.
I very much enjoyed reading this book and had a lot of fun trying to do those small exercises at the end of each day. The only down-side now is that the list of programming languages that I want to take a closer look at basically doubled. Oh well, nothing that flipping a coin can’t handle.
I want to end this blog post with the question: What programming language are you learning at the moment?
Until next time.