MIT Press’s massive new tome is excellently researched, thorough and a must-have for your deskside bookcase. Just make sure the shelf is sturdy enough for its 1,322 pages: This is not a book to carry in your hand luggage for your next airplane trip.
“Design Concepts in Programming Languages,” by Franklyn Turbak and David Gifford, with Mark Sheldon, is designed to teach you how to design programming languages, and implement their functions. Unlike other books that I’ve seen, it emphasizes simplicity in language implementation, using a functional decomposition approach.
The book begins by covering foundational issues of language design: syntax, operational semantics, denotational semantics and fixed points. The discussion of recursive definitions is well written, and there’s a cheerful playfulness about the book that’s a breath of fresh air in such a serious work.
The second section of the book dives into dynamic semantics, covering such areas as call-by-name vs. call-by-value, state vs. stateless, and data structures.
The third section, static semantics, goes into data types, polymorphism, type reconstruction, abstract types and modules, and discusses how they affect program behavior.
The book concludes by digging into pragmatics, covering such minor details as compilation, garbage collection and metalanguages.
Summary: Recommended. List price is $75, but it’s under $60 from Amazon.
Separately: Here are some other books that I’ve reviewed recently and also our holiday book list from SD Times.