3 ms·
CTM is a great book, but not about programming language implementation so much as a tour through the big ideas in different programming paradigms. I can't recom
by silentbicycle 17y ago
CTM is a great book, but not about programming language implementation so much as a tour through the big ideas in different programming paradigms. I can't recommend it too highly - it's one of the most readable textbooks I've seen, and it's refreshingly non-dogmatic about the subject material. Usually, language books are heavy-handed about OOP / Lisp / FP / whatever being best, but CTM's thesis is that, since they all have strengths and weaknesses, it's most practical to learn what they do best and how to use them in a complementary fashion.
It covers declarative programming, functional programming, several concurrency models, logic programming, object-oriented programming, dataflow programming, and probably a half dozen things I'm forgetting. The book uses Oz* , with major asides using Haskell, Erlang, Java, Prolog, and probably a couple others.
There's a draft PDF floating around, but if you like it, I'd highly recommend buying the book. (Same with SICP.)
* Which seems like an interesting language, though I've never gotten it to build on OpenBSD, so I've done exercises in OCaml, Lua, or Scheme instead.