Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages by Bruce A. Tate, Review by Tony Cappellini
What first attracted me to this book is its coverage of several languages that I know little or nothing about. For reasons mostly due to chance, I’ve been exposed to only a handful of well-known programming languages during my professional career. Recently, I’ve been quite intrigued by Erlang’s concurrency model and robustness even though there is no place for it in my day-day tasks. Having the opportunity to read about Erlang being evaluated against other languages was just what I wanted. So, I took the red pill and found out just how deep the rabbit hole goes.
“Seven Languages in Seven Weeks” covers Ruby, Io, Prolog, Scala, Erlang, Clojure and Haskell. These languages were chosen as of the result of a survey. When the data was tallied, 8 potential candidates remained. Given that there are so many languages around I’m quite surprised that the initial list was so small. That speaks a lot of the languages that ended up in the book.
First off, I like this book a lot. It starts off with a brief, one-paragraph introduction on each of the languages. There’s just enough information here to let you know what to expect in each of the chapters. This book follows a pragmatic consistency from beginning to end.
The structure of each chapter is logical and concise which makes it easy for the reader to compare and contrast elements of each language. I also like the history and language development sections as well as interviews with the language developers. Each chapter concludes with a nice “Wrap Up” segment which summarizes key areas of each language, such as performance, mutability, weaknesses, strengths, readability, etc. In fact, the final chapter is a “Wrap Up” of the whole book. I don’t know of a better way to conclude this book.
The size of the book is a modest 317 pages, but it delivers a plentiful and concise overview into each of the seven languages. The book is just the right size to catch the reader’s interest, introduce them to language basics features and fun, without overwhelming them.
I couldn’t help but wonder if there would be a follow-on title comparing and contrasting another group of languages. And if so, which languages would they be?The introduction concludes with the following statement:
“When you’re through, you will not be an expert in any of these languages, but you will know what each uniquely has to offer”
I can’t agree more.I can’t say enough good things about this book. If you’ve worked with many languages in this book, you probably won’t be as interested in this book as I am. However, if you’ve had a career like mine which hasn’t exposed you to more than a few languages, this book is a must-have for your collection. It may even inspire me to delve into another language, after I get my head around Erlang and FP concepts.