Seven Languages in Seven Weeks in 2026
By Mads Hougesen, Fri Apr 10 2026
For the last couple of months I have been reading the book Seven Languages in Seven Weeks by Bruce Tate. The concept of the book, as the name implies, is to introduce the reader to seven very different programming languages. As a hobby programming language enthusiast who has worked professionally in a wide range of languages (Rust, TypeScript, Ruby, Python, PHP, and countless others for fun), the book sounded right up my alley.
The seven languages covered by the book are Ruby, Io, Prolog, Scala, Erlang, Clojure, and Haskell.
The only substitute I would have personally made would be to introduce an ML-based programming language, such as OCaml (or F#), instead of Scala.
Scala is a nice language, but it felt a bit boring compared to the other languages covered in the book. It also didn't help that two of the core features highlighted in the chapter, actor-based concurrency and native support for XML structures, have both been removed in later versions of Scala, rendering the sections out of date. That is, of course, not the author's fault, but rather a result of the rapid development that has occurred in Scala, and software development in general, since the book was published 15 years ago.
One could also argue that including a language like Io, which has neither industry, historic, nor academic usage, is a waste, but I actually really liked the chapter since it introduced a completely different way of thinking.
As a programming language theory nerd, I had hoped for a bit more focus on the reasoning behind each language's implementation/design, but that would either have required increasing the length of the book, or making it more dense by removing fluff.
In the end, I enjoyed the book and would recommend it to people who are interested in broadening their programming language horizons.