Software Engineering discussion
Seven Languages in Seven Weeks
>
What do you think about this book?
date
newest »


A few chapters had interviews mixed in with instructional content. I enjoyed that change of pace from the sometimes "dry" instructional content.

One and most disturbing thing I noticed going from one language to another as a novice language programmer, is poor description of compilation errors returned by compilers. Sometimes finding a compilation error was more challenging than solving a problem. In many situations this would imply the same thing, ones errors are found, exercise problem is solved. Anyways, the biggest challenge for me was getting used to new language syntax and figuring out compiler complaints.
I think it was a great idea to include interviews with language creators into this book. I find it fascinating reading about ideas behind language development process. It would be interesting to see language creators solving problems provided in this book and compare to my solutions.
The most interesting paradigm I read about in this book was logic paradigm implemented in Prolog. Erlang sounds interesting, but I haven’t tried doing any exercises yet, so I can’t really comment on it. Functional paradigm sounds interesting. I’ve read few articles about solving different interesting problems in Haskell, so I’m looking forward to learn more about it in future.
Even though many exercises in this book are challenging, unfortunately not many of them are interesting to do. I wish they would be oriented on finding the results (more like math or physics problems) instead of implementing logic to get the results already known in advance.
I’m glad I took this opportunity to learn about programming paradigms in more details. I can only wish we had a course on compiler design and implementation from perspective of different programming paradigms.
Stanford has the video lectures for a course on programming language paradigms online.
http://see.stanford.edu/see/lectureli...
http://see.stanford.edu/see/lectureli...
I still do think that the author has a hidden agenda of gradually exposing programmers trained in the object-oriented paradigm to the functional paradigm. I think that this is a good thing, but maybe that agenda (if it was intentional) should have been more explicit upfront, allowing the readers to follow a higher-level theme to the language choices and their ordering.
I found that doing the homework assignments was a very important part of learning from this book. My main criticism of the book is that the exercises are too uneven in scope and difficulty. It might be interesting to consider doing a single small programming assignment in all seven languages as the core exercise, and then branching out to language/concept highlights unique to each language. I also think that covering this book in seven weeks is overoptimistic by a factor of at least 2 or 3. I probably shortchanged Clojure in my sprint to the finish. I think the Haskell chapter was particularly well written, but I have a bias here.
I don't think that I will follow-up with any of the languages, other than Haskell. If I were to pick two languages to explore in detail, coming most recently from a Java-centric base, they would be Python (not in the book, but similar to Ruby) and Haskell.
4/5 Stars.