19 Jul

Seven Languages in Seven Weeks

Category:UncategorizedTag: :

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.

13 thoughts on “Seven Languages in Seven Weeks

  1. Marked this book to read.
    Last year spent some time to learn scala and F#.
    Scala seems not very elegant for me mostly because explicit type annotations while F# looks very elegant thanks to powerful type inference and workflows.

  2. If you like the Ruby syntax and the power of Erlang, you should take a look at Elixir.

  3. I wouldn’t call Scala a newcomer – it was around the block since 2001 and is getting into the spotlight in the last 2-3 years or so. It’s the language I’m learning now, and I consider it very expressive and design of highest quality. For an everyday C# guy it’s pretty mind-bending

  4. I already tried Scala and Haskell, but for now I decided to sharpen my Python skills. It’s not a language that’s hip by now, but it runs on .Net, Java and many other platforms.
    It has some functional tools available when I need them and allows me to do solid OO-programming otherwise.

  5. Have you tried VB.Net? It’s an a elegant OOP language and a million miles away from the old VB. Mind you, you’d need 7 weeks just to get your head around the .Net framework, but that applies equally to C# and even F# I guess.

  6. Despite advice to be broad in the use of languages I use C++ for just about everything. I only use other languages as glue for particular libraries that they offer.

  7. Elixir is indeed on my list as well. But I think I would first learn Erlang before Elixir so I’d appreciate this new language even more.

  8. I skimmed through that chapter. It does look interesting but I had difficulties wrapping my head around it in the past, so I did keep some distance while reading the book.

  9. Without offense, if your work is mostly done by libraries you generally use C++ as glue 🙂

    Every program can be recreated in other “general purpose” language. I find no urge to learn Java or C# for what i normally do. I see the benefit to know different languages because they bring new thoughts on the table 🙂

    But when it is about your day to day tasks just stick to what works for you 🙂

    Otherwise i should look in some functional programming in the near future 🙂

  10. I first learnt Prolog back in the 1980s. I think it’s a shame it never took off. Great language to program in. I really like declarative languages and even if you never use it again it gives you a taste of what declarative languages can do. So this is a useful section of the book.

  11. Right now i’m diving in to Python. I’ve been a career-long C# developer so the lack of type-safety is a bit jarring. But aside from the whitespace significance (hate this) of the language, it’s basically C# if you only used ‘dynamic’ everywhere, so I’ve grasped it pretty quickly.

Comments are closed.