HN Books @HNBooksMonth

The best books of Hacker News.

Hacker News Comments on
Design Concepts in Programming Languages (MIT Press)

Franklyn Turbak, David Gifford, Mark A. Sheldon · 2 HN comments
HN Books has aggregated all Hacker News stories and comments that mention "Design Concepts in Programming Languages (MIT Press)" by Franklyn Turbak, David Gifford, Mark A. Sheldon.
View on Amazon [↗]
HN Books may receive an affiliate commission when you make purchases on sites after clicking through links on this page.
Amazon Summary
Key ideas in programming language design and implementation explained using a simple and concise framework; a comprehensive introduction suitable for use as a textbook or a reference for researchers. Hundreds of programming languages are in use today―scripting languages for Internet commerce, user interface programming tools, spreadsheet macros, page format specification languages, and many others. Designing a programming language is a metaprogramming activity that bears certain similarities to programming in a regular language, with clarity and simplicity even more important than in ordinary programming. 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 premise and starting point the idea that when language behaviors become incredibly complex, the description of the behaviors must be incredibly simple. The book presents a set of tools (a mathematical metalanguage, abstract syntax, operational and denotational semantics) and uses it to explore a comprehensive set of programming language design dimensions, including dynamic semantics (naming, state, control, data), static semantics (types, type reconstruction, polymporphism, effects), and pragmatics (compilation, garbage collection). The many examples and exercises offer students opportunities to apply the foundational ideas explained in the text. Specialized topics and code that implements many of the algorithms and compilation methods in the book can be found on the book's Web site, along with such additional material as a section on concurrency and proofs of the theorems in the text. The book is suitable as a text for an introductory graduate or advanced undergraduate programming languages course; it can also serve as a reference for researchers and practitioners.
HN Books Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this book.
Aug 20, 2016 · catnaroek on Python Lists vs. Tuples
It isn't arrogance, it's just the semantics of the programming languages in question. Programming languages being such fundamental tools, you would think every programmer should understand them well, but that is far from being the case. It is tempting to blame programmers, but the real culprit is the subtlety and depth of the topic. Two great resources to get started are https://www.amazon.com/dp/0262201755/ and https://www.amazon.com/dp/0262690764/

Anyway. A value is something you can bind to a variable. Unfortunately, you can't bind the list [1,2,3] (or whatever syntax you might prefer) to a variable in either Python or Lisp, because those languages simply don't have lists (or any other kind of compound value).

ScottBurson
I read back through your recent comments. I notice you get downvoted a lot. Does this bother you?
catnaroek
I don't particularly mind.
"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! :-))

silentbicycle
I'll look into it, thanks!

Branching off the links that fadmmatt posted above, I found a booklist (http://matt.might.net/articles/books-papers-materials-for-gr...) with a PDF of Nielson & Nielson's Semantics with Applications (http://www.daimi.au.dk/~bra8130/Wiley_book/wiley.pdf). That looks good, too.

It sounds like I'm used to reading operational semantics, but have usually seen them specified in S-Expressions (as mini-interpreters in Scheme).

HN Books is an independent project and is not operated by Y Combinator or Amazon.com.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.