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
    Essentials of CompilationJeremy G. Siek

    Essentials of Compilation

    Jeremy G. Siek · 2023

    A hands-on approach to understanding and building compilers using the programming language Python. Compilers are notoriously difficult programs to teach and understand. Most books about compilers dedicate one chapter to each progressive stage, a structure that hides how language features motivate design choices. By contrast, this innovative textbook provides an incremental approach that allows students to write every single line of code themselves. Jeremy Siek guides the reader in constructing their own compiler in the powerful object-oriented programming language Python, adding complex language features as the book progresses. Essentials of Compilation explains the essential concepts, algorithms, and data structures that underlie modern compilers and lays the groundwork for future study of advanced topics. Already in wide use by students and professionals alike, this rigorous but accessible book invites readers to learn by doing. Deconstructs the challenge of compiler construction into bite-sized pieces Enhances learning by connecting language features to compiler design choices Develops understanding of how programs are mapped onto computer hardware Classroom-tested, hands-on approach suitable for students and professionals Extensive ancillary resources include source code and solutions

    Computer Science
    Open LibraryAmazon
    Stats for nerds
    17recommend
    32mentions
    25people
    2016–2026years
    63% recommend38% neutral

    Mentions per year

    201620182020202220242026

    What Hacker News says

    1. agencyApr 2026
      Another recent book inspired by Ghuloum is Essentials of Compilation: An Incremental Approach (which publishes Python and Racket versions) https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
      thread
    2. JtsummersAug 2025
      If you like Ghuloum's paper, there are three fairly recent compiler books that are inspired by it:

      https://nostarch.com/writing-c-compiler - Writing a C Compiler by Nora Sandler, language agnostic for the implementation.

      https://mitpress.mit.edu/9780262047760/essentials-of-compila... - Essentials of Compilation (using Racket) by Jeremy Siek

      https://mitpress.mit.edu/9780262048248/essentials-of-compila... - Essentials of Compilation (using Python) by Jeremy Siek

      Those last two both have open access versions.

      thread
    3. sn9Aug 2025
      What sort of compiler class were you looking for?

      You can work through a book that uses a more modern approach like Siek's Essentials of Compilation which comes in Racket [0] and Python flavors.

      Teach Yourself CS also has some more classic recommendations [1].

      You may also be interested in using a language from the ML family [2] to implement a compiler [3].

      Cornell also has a self-paced graduate level course [4].

      This page also has a bunch of recs [5].

      [0] https://mitpress.mit.edu/9780262047760/essentials-of-compila...

      [1] https://teachyourselfcs.com/#languages

      [2] https://matt.might.net/articles/best-programming-languages/

      [3] https://a.co/d/2EhiUDM

      [4] https://news.ycombinator.com/item?id=39577878

      [5] https://steshaw.org/plt/

      thread
    4. JtsummersApr 2025
      Another text using this approach:

      https://mitpress.mit.edu/9780262047760/essentials-of-compila... - Jeremy Siek's Essentials of Compilation (there's also a Python version)

      Admittedly I didn't finish working through it (life got in the way), but I worked through a good chunk of it with a colleague from a non-CS background. He wanted to understand compilers and it seemed to be much more effective than other texts he'd tried to work through. I'll have to look at this one at some point, probably this summer when things are usually calmer for me.

      thread
    5. sitkackApr 2025
      This is such a wonderful book.

      This book is open access, https://github.com/IUCompilerCourse/Essentials-of-Compilatio... both the Python and the Racket versions.

      If you are the kinda nerd that has nerd book club with friends, this is book is perfect for it.

      thread
    6. declankAug 2024
      Great to see Essentials Of Compilation by Jeremy Siek mentioned. Also has a Python version.
      thread

    Related

    Cover of Essentials of programming languages
    2008–2026

    Essentials of programming languages

    Daniel P. Friedman
    43 recommend · 76
    Cover of Structure and Interpretation of Computer Programs
    2007–2026

    Structure and Interpretation of Computer Programs

    Harold Abelson
    347 recommend · 761
    Cover of The art of computer programming
    2007–2026

    The art of computer programming

    Donald Knuth
    336 recommend · 1,799
    Cover of Engineering a compiler
    2007–2026

    Engineering a compiler

    Keith D. Cooper
    39 recommend · 91
    Cover of Compilers, principles, techniques, and tools
    2007–2026

    Compilers, principles, techniques, and tools

    Alfred V. Aho
    195 recommend · 958
    Cover of Code Complete
    2007–2026

    Code Complete

    Steve McConnell
    393 recommend · 894
    Cover of How to Design Programs
    2007–2026

    How to Design Programs

    Matthias Felleisen
    277 recommend · 776
    Cover of Computer organization and design
    2008–2026

    Computer organization and design

    David A. Patterson
    50 recommend · 101