Back to the bookshelf

Typographic jacket · original cover not fetched

FROM THE SHARED SHELF · 2006–2026 SAMPLE

Compilers: Principles, Techniques, and Tools

Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman

4 readers recommend it across 4 discussions

Topics are model-inferred labels.

Keep it on your reading list

THE WORD OF MOUTH

What made it worth passing on?

Original Hacker News comments, in the readers’ own words.

tnelsond4
I tried reading the dragon book in my teens, never really understood it, it was too much theory for me. I'd recommend starting with implementing a forth since it's the easiest language to write an interpreter/compiler for. From there you'll have enough experience to go for something bigger. Making your own bytecode is really fun. Ultimately you'll probably want your compiler to target llvm bytecode so that it works on every target automatically.
telltruth
This might sound either obvious or naive but if you are not a CS major, I would really emphasize reading CS textbooks such as CLRS, Programming Pearls, Dragonbook and most importantly textbooks on statistics m probability, linear algebra. There is a pyramid of skills for developers. People who haven’t studied throughly above stuff usually ends up at bottom (aka “enterprise” or “web” or “database” developers). They spend their lives in trivialities of patterns and plumbing and only very rarely doing something interesting such as distributed computing, game programming, systems programming, ML/AI.

Also recommended in this reply

de107549
There were different book that impacted different stages of my career: As a programmer : 1. The C++ Programming Language by Bjarne Stroustrup. 2. Operating System Concepts by Silberschatz 3. Compilers by Aho As an agile software developer: 1. eXtreme Programming by Kent Beck 2. Pragmatic Programmer by Hunt and Thomas 3. Continuous Delivery by Jez Humble As an architect: 1. Domain Driven Design by Evans 2. Pattern-Oriented Software Architecture by Buschmann 3. Envisioning Information by Edward Tufte As a CEO: 1. Good To Great by Collins 2. Lean Startup by Eric Ries 3. Beyond Budgeting by Pfläging
T-R
It really depends on what you feel you're missing and what you're hoping to do (definitions of "daily work" vary widely). If you're looking to get up on theory by doing your own program of sorts, you could do worse than start with these (in roughly this order): Structure and Interpretation of Computer Programs - Abelson, Sussman, and Sussman Introduction to Algorithms - Cormen, Leiserson, Rivest, and Stein The Art of Assembly Language - Hyde a digital logic book (not sure which is most recommended), and an architecture book (see reply by tftfmacedo) Modern Operating Systems - Tanenbaum Introduction to the Theory of Computation - Sipser Compilers: Principles, Techniques, and Tools - Aho, Lam, Sethi, and Ullman (a.k.a. "Dragon Book") Programming Language Pragmatics - Scott…