2.4 KiB
+++ title = "Seven Languages in Seven Weeks" date = 2019-07-16
[taxonomies] tags = ["books", "reviews", "bruce a tate", "clojure", "haskell", "io", "prolog", "scala", "erlang", "ruby", "it", "1 star"] +++
GoodReads summary: You should learn a programming language every year, as recommended by The Pragmatic Programmer. But if one per year is good, how about Seven Languages in Seven Weeks? In this book you'll get a hands-on tour of Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby. Whether or not your favorite language is on that list, you'll broaden your perspective of programming by examining these languages side-by-side. You'll learn something new from each, and best of all, you'll learn how to learn a language quickly.
{{ stars(stars=1) }}
A couple of random thoughts about this book:
First off, you have the idea that, for each language the author would spend one week (I'll not get into the fact that each "week" has 3 days only). This is a great idea: How much of the concepts of a programming language can you capture in just one week. Are the interfaces good? Are they simple and easy to understand? The fact is, the author did not spend one week on each language. In the Clojure chapter, he mentions that he got the idea after a month. So instead of trying to capture the good and bad points in one week -- which, again, it's a good thing, so one can understand how "ergonomic" a language is -- the author decided the reader should only take one week per language.
Second, there is a huge about of "obvious", "obviously" and "simple". Sure, it may seem obvious for the author, but most of the time, things are not obvious for people who never saw anything related.
Not only there is an abuse of "obvious" things, sometimes the author seems to either not understand some concepts of the language or tries to simplify an explanation to the point it sounds wrong -- and I just realized that 'cause I've read books about some of the languages.
And there are times when the author shows a piece of code, with something completely new, and forgets to explain what that new thing means. I'm glad I've read books about Clojure and Haskell before, otherwise I'd never understand what the thing really was.
On the general, it's a book about seven languages. Instead of reading this book, I'd suggest getting the list of languages and going after them in other ways instead of reading this.