Allen Holub
holub.com · Personal blog · on HN since 2013
Allen Holub is a software consultant and author who writes on compiler design, design patterns, agile practice and programming rules of thumb.
What HN saysHN links it for the free PDF of his book Compiler Design in C, though commenters note better compiler books exist, and for his views on management.
26HN people shared it
11linked it in comments
16stories submitted
282story points
7 months agolast shared
2013people per year2026
Most-shared posts
- 1Compiler Design in C11 people · 15 points · first shared 2017 · 2 comments on HN
- 2Compiler Design in C4 people · 109 points · first shared 2013 · 43 comments on HN
- 3Don't track bugs, fix them3 people · 6 points · first shared 2022 · 2 comments on HN
- 4Holub on Patterns – Design Patterns in the Real World2 people · 4 points · first shared 2022 · discussion on HN
- 5Heuristics for Effective Software Development Organizations2 people · 3 points · first shared 2022 · discussion on HN
- 6Heuristics for Effective Software Development: A continuously evolving list1 people · 121 points · first shared 2021 · 67 comments on HN
- 7Allen Holub: 160-some programming rules of thumb1 people · 15 points · first shared 2019 · 1 comments on HN
- 8KPIs, Velocity, and Other Destructive Metrics1 people · 5 points · first shared 2022 · 1 comments on HN
- 9Words that do not appear in the Agile Manifesto and Principles1 people · 4 points · first shared 2021 · discussion on HN
- 10Noaccountability1 people · first shared 2021
- 11Reading1 people · first shared 2022
What HN people wrote when they linked it
tzs · 2022-11-28
Although it is older than a fair number of HN readers, a great book from 1990 on compilers is Allen Holub's "Compiler Design in C". It's long out of print but there is a free PDF on Holub's website [1].
The book covers the usual theory and then puts it to use to develop tools for writing compilers (e.g., lexical analyzer generators similar to lex and parser generators similar to yacc) and then with those tools develops a C compiler.
[1] https://holub.com/compiler/
mesaframe · 2020-02-10
I must say all the book suggestions are really great.
Except for P&H. As mentioned in comment he now recommends CS:APP over it and I would do too.
Also, for compilers I would suggest C compiler design [1]. It provides both implementation and theory instead of just theory which the dragon book does.
[1] https://holub.com/compiler/
garren · 2019-07-12
If you're just getting comfortable with it (as I am) then something a little lighter weight than a course seems like a reasonable approach. Also, for me at least, at this point the distinction between interpreter and compiler isn't as important, and there are some very high quality interpreter resources out there. [0], [1], [2] are easy to get started with and great to work through. At the very least it seems like these should be good preparation for something more rigorous.
As for compiler resources, I've put a respectable dent in [3] and so far I've found it to be pretty accessible.
[0] https://craftinginterpreters.com
[1] https://interpreterbook.com
[2] http://www.buildyourownlisp.com
[3] https://holub.com/compiler/
pjmlp · 2026-04-15
It was a product of its time I guess, much better ones from similar vintage,
The Tiger book (with C, Standard ML, and Java variants)
https://www.cs.princeton.edu/~appel/modern/
Compiler Design in C (freely available nowadays, beware this is between K&R C and C89)
https://holub.com/compiler/
lcc, A Retargetable Compiler for ANSI C
https://drh.github.io/lcc/
Or if one wants to go with more clever stuff,
Compiling with Continuations
Lisp in Small Pieces
dgb23 · 2021-07-26
From his blog[1]
> External pressure (accountability) and internal pressure (responsibility) are simply not needed in a healthy culture. As in a relationship, the word “accountable” is rarely, if ever, heard in high functioning organizations.
I can't quite determine if he is ahead of his time or a snake oil salesman.
[1] https://holub.com/noaccountability/
elvis70 · 2021-04-24
And a free copy of this book in PDF has been made available by the author: https://holub.com/compiler/
kingaillas · 2021-03-31
Well, it was basically the only book out at that time. I remember a few others in the 1990s - Compiler Design in C; Holub, and later after I graduated Modern Compiler Implementation in C; Appel).
Hey something cool I found while googling - Holub's book is available as a free download from the author! (https://holub.com/compiler/)
The Dragon Book has flaws but it is also the case where the pioneer catches all the arrows. But the OP asked about unsubstantiated criticisms of the book so I added in the one I remember from my courses - mostly too much on parsing, not enough on everything else. The 2nd compiler course I took didn't even use a textbook, Dragon book or otherwise; it was a handful of papers and a semester-long project on SSA and associated documentation.
stephen82 · 2018-06-19
10 days ago, I finished the first book and now I can't wait to get in my hands this second book about compilers!
I'm currently reading "Compiler Design in C" by Allen I. Holub, https://holub.com/compiler/, and so far I like it.
But to use Go in place of C would be a nice alternative as well!
I can't wait to read the new book.
ksherlock · 2017-07-09
The Holub book (and source code) is available for download from the author - http://holub.com/compiler/
mr90210 · 2022-02-28
Start here: https://holub.com/reading/
troydj · 2015-12-14
I wouldn't go so far to say that the Dragon Book is outdated and irrelevant. (I'm assuming you're referring to the 2nd edition from 2006.) Unless you're focusing on back-end optimization and code generation techniques (something a new compiler writer typically does NOT do), the bulk of the theory and material you'd cover in a first semester compiler course is fairly static.
But if a person is merely looking to bang out a compiler without getting overwhelmed with how to convert NFAs to DFAs for lexing, etc., some good alternative books are:
A Retargetable C Compiler: Design and Implementation, by Hanson and Fraser (http://www.amazon.com/Retargetable-Compiler-Design-Implementation/dp/0… This book constructs and documents the explains the code for a full C compiler with a recursive descent approach (no flex/lex or bison/yacc). I have some experience augmenting this compiler, so I can vouch for the book's ability to clearly convey their design.
Compiler Design in C, by Allen Holub (http://www.holub.com/software/compiler.design.in.c.html). Downloadable PDF at that link as well. A book from 1990 in which Holub constructs his own version of lex and yacc, and then builds a subset-C compiler which generates intermediate code.
Practical Compiler Construction, by Nils Holm (http://www.lulu.com/shop/nils-m-holm/practical-compiler-construction/e… A recent book which documents the construction of a SubC (subset of C) compiler and generates…