Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Design concepts in programming languages

    Design concepts in programming languages

    Franklyn A. Turbak, David Gifford, Mark A. Sheldon · 2008

    "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 serve as a reference for researchers and practitioners."--Jacket.

    ProgrammingComputer Science
    Open LibraryAmazon
    Stats for nerds
    7recommend
    11mentions
    8people
    2009–2026years
    82% recommend18% neutral

    Mentions per year

    2009201120132015201720192021202320252026

    What Hacker News says

    1. rramadassApr 2026
      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 paradigms to a simple core language.

      thread
    2. rramadassJun 2024
      The problem you mention is rather common to senior/experienced developers. One way to get back the "joy of programming" is to study the programming language domain as a whole including Programming Language Theory, Formal Methods, Programming Paradigms and Techniques etc. Most people just focus on the needed mechanics of Programming (because job) without really bothering to look behind the curtain and hence quickly get bored/disillusioned. You have to really motivate yourself to dig deeper. But once you do this, you will begin to look at programming languages in a whole different light.

      I found the following useful to get back (ongoing) my "joy of programming";

      1) Advanced 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.

      thread
    3. francassoMar 2022
      In my opinion it's verbose and more complicated than necessary. If you 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 for Programming Languages is great, full of interesting topics (but it doesn't hold your hand as much as the previous two)
      thread
    4. mlazosOct 2018
      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.)
      thread
    5. HillRatJan 2015
      I should point out that my academic background was political science and econometrics, with only a smattering of comp. sci courses in college, so I'm also an autodidact in computer science -- my recommendations come from my own experience.

      You will want Knuth's TAOCP (especially since you mentioned you've had trouble with sorting and searching algorithms), but it's not something to start with. Likewise, Hopcroft and Ullman's "Introduction to Automata Theory, Languages and Computation" is a crucial text, but it's highly abstract (much more so than Knuth, which is a very practical work) and very, very slow going. Pick it up later when you're comfortable with mathematical formalisms.

      You'll want to, relatively early on, find a readable introduction to discrete mathematics (the mathematics of "countable" objects, like sets and integers) and some of the more useful optimization techniques like linear 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 "Dinosaur book"), and (if you want to get into the nuts and volts of hardware), Horowitz's "Art of Electronics." Great works.

      That should tide you over for the next few years -- but it'll be fun reading. Really!

      thread
    6. sbDec 2011
      Queinnec's Lisp in Small Pieces is a superb book, if you liked that you might also like Henderson's book on implementation of functional PLs (particularly SECD machines.)

      Regarding the list: I think it's a nice effort, but lacks several excellent and remarkable books. Just quickly browsing, I found the following essential books missing:

        * In algorithms: 
          - Aho, Hopcroft, Ullman: The Design and Analysis of Algorithms.
          - Wirth: Algorithms and Data Structures.
        * In Compilers:
          - Wirth: Compiler Construction.
          - Grune, Bal, Jacobs, Cerial: Modern Compiler Design.
          - Muchnick: Advanced Compiler Design and Implementation.
        * In Lambda calculus:
          - Barendregt: Introduction 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 previously mentioned several times on HN, Cooper's and Torczon's "Engineering a Compiler" is a more recent and (IMHO much more readable and accessible) choice.

      thread

    Related

    Cover of Advanced programming language design
    2015–2026

    Advanced programming language design

    Raphael A. Finkel
    2 recommend · 7
    Cover of Advanced compiler design and implementation
    2008–2025

    Advanced compiler design and implementation

    Steven S. Muchnick
    13 recommend · 25
    Cover of Modern Compiler Design
    2009–2016

    Modern Compiler Design

    David Galles
    1 recommend · 2
    Cover of The Science of Programming
    2009–2024

    The Science of Programming

    David Gries
    9 recommend · 15
    Cover of Essentials of programming languages
    2008–2026

    Essentials of programming languages

    Daniel P. Friedman
    43 recommend · 76
    Cover of Formal syntax and semantics of programming languages
    2019–2025

    Formal syntax and semantics of programming languages

    Kenneth Slonneger
    2 recommend · 5
    Cover of The Standard C Library
    2009–2026

    The Standard C Library

    P. J. Plauger
    17 recommend · 29
    Cover of C interfaces and implementations
    2008–2026

    C interfaces and implementations

    David R. Hanson
    46 recommend · 114