
Design concepts in programming languages
by Franklyn A. Turbak, David Gifford, Mark A. Sheldon · first published 2008
88% recommend13% neutral
Why HN recommends it
Thorough, formal treatment of programming language design concepts, often recommended as a follow-up to SICP; suits readers who want theory behind language features rather than parsing or compilation.
Summarised by Claude from recommending comments
"This comprehensive text uses a simple and concise framework to teach key ideas in programming language design and implementation. The book's unique approach is based on a family of syntactically simple pedagogical languages that allow students to explore programming language concepts systematically. It takes as its premise and starting point the idea that when language behaviors become incredibly complex, the description of the behaviors must be incredibly simple." "The book is suitable as a text for an introductory graduate or advanced undergraduate programming languages course; it can also
Affiliate links. As an Amazon Associate I earn from qualifying purchases.








…things about this book so I am sure it is great. The language it uses (Oz) is a bit flaky wrt syntax but VERY powerful. Another recent lovely book, though a bit on the formal side is Gifford and Turbak'S Design Concepts In programming languages. (Another 1000 + pages !! - the road to compiler gurudom has many 1000 page books to work through!).I am working though this and I am enjoying it thoroughly. I hope to finish it by the end of this year.
on “Create Your Own Programming Language (Book)” ↗"Where is a good place to get started with studying formal semantics?" I found "Design Concepts in Programming Languages" by Gifford and Turbak (http://www.amazon.com/Design-Concepts-Programming-Languages-...) well written and comprehensive. ( I am self taught too! :-))
on “What are the semantics of your favourite programming language?” ↗…Managing Gigabytes. Advanced Programming in the Unix Environment Unix Network Programming On Lisp Advanced Compiler Design and Implementation Concepts, Techniques and Models of Computer Programming Design Concepts in Programming Languages Lambda-Calculus and Combinators (the new Hindley/Seldin book, just got it 2 weeks ago) Optimizing Compilers for Modern Architectures Abstract Computing Machines: A Lambda-Calculus Perspective
on “Ask HN: What are your favorite programming books?” ↗…to Lambda Calculus. * In theoretical computer science: - Kozen: Automata and Computability. - Davis: Computability and Unsolvability. * In concepts of PLs: - Turbak, Gifford, Sheldon: Design Concepts in Programming Languages. (In general, the list does not mention any of Wirth's books, which is a shame. The Project Oberon book should also be mentioned in OS stuff, I guess...) Regarding compiler construction: As has been…
on “Technical Papers Every Programmer Should Read (At Least Twice)” ↗…programming. I used Grimaldi's "Discrete and Combinatorial Mathematics" to good effect. Eventually, pick up some good textbooks on programming language design (not parsing and compilation), like Turbak et al's "Design Concepts in Programming Languages" and Finkel's "Advanced Programming Language Design." Also, a few more sitting on my bookshelf that I also highly recommend -- "Computer Organization and Design," "Operating System Concepts" (the famous…
on “Book recommendation to learn basics of Comp Sci?” ↗I enjoyed this post - but I don’t feel like it added much beyond SICP itself and also one of my favorite books, Design Concepts in Programming Languages (Turbak et al.)
on “SICP Goodness – The Environment Model” ↗…just want to understand programming language design with a lispy flavor I would suggest Essentials of Programming Languages by Friedman, Wand (not much theory, scheme implementations of everything) and Design Concepts in Programming Languages by Gifford, Turbak, Sheldon (which uses s-exps to represent ASTs, but otherwise is not lisp centric). If you already know some PL theory and don't care too much about lisp, Bob Harper's Practical Foundations…
on “A non-standard book list for software developers” ↗…Programming Language Design by Raphael Finkel. 2) Concepts, Techniques, and Models of Computer Programming by Peter Van Roy and Seif Haridi. 3) Understanding Formal Methods by Jean-Francois Monin. 4) Design Concepts in Programming Languages by Turbak and Gifford.
on “The Programmer's Brain (2021)” ↗Folks might find the following useful for studying PLs; 1) Advanced Programming Language Design by Raphael Finkel - A classic (late 90s) book comparing a whole smorgasbord of languages. 2) Design Concepts in Programming Languages by Franklyn Turbak et al. - A comprehensive (and big) book on PL design. 3) Concepts, Techniques and Models of Computer Programming by Peter Van Roy et al. - Shows how to organically add different programming…
on “The seven programming ur-languages” ↗Dr Turbak (the author of the article) is co-author of "Design Concepts In programming Languages" (along with David Gifford of MIT and he makes a thoughtful (but debatable) case for macros hinder readability.
on “Why Macros Impair Readability” ↗…are much longer then the newer ones. I've found that the 1st edition requires less sophistication than the 3rd and spends more time explaining things. You might want to take a look at it. There's also "design concepts in programming languages".
on “How do I create my own programming language and a compiler for it” ↗