I'm the author of "Crafting Interpreters".
I really like "Engineering a Compiler", but it's probably not the best first book for implementing a programming language. It's primarily a textbook for backend optimization. It covers just enough front end to feel like a complete book, but you can tell the authors assume you've already taken an undergrad class in compilers before.
It is an excellent second or third book after you have a working compiler and you want to start understanding how industrial-grade compilers make code go fast. It's the best textbook I know on optimization. Most other compiler optimization material lives in academic papers, which can be scattershot and difficult to absorb.
One of my goals with "Crafting Interpreters" was to give people an intuitive feel for PL implementation so that they are better prepared to approach deeper works like "Engineering a Compiler".
Thank you for the response. I'll get your book as well. I got that book because it had good reviews on Stackoverflow survey that said prefer that to the Dragon Book.
For what it's worth, I'd probably recommend the latest edition of the Dragon Book before "Engineering a Compiler" too. The Dragon Book does a good job of establishing a lot of the foundation for a compiler. It is so dominant in the field that most other compiler textbooks either deliberately or inadvertently assume a reader is familiar with it.
The Dragon Book has a repututation for being unapproachable and it is pretty dense and goes more into compiler-compilers than any normal person would ever need. But the latest edition isn't quite so bad and you can skim some of that stuff if you aren't interested in it.
I just subscribed to your site, and currently enjoying it so far.
I took programming languages CS course. We didn't exactly build a full compiler from scratch but we did do parsing, generating AST and bytecode. That being said, I still consider myself an ultra beginner in compiler, do you think the latest edition of Dragon book can be approachable by me?
> do you think the latest edition of Dragon book can be approachable by me?
That's a pretty personal question because everyone has different reading styles and approaches to textbooks. It's dense and not a lot of fun to read, so it will require some discipline and effort on your part. If you're the kind of person who has enough willpower to grind it out, you'll be fine.
There's a difference between hard books and bad books. The latter are unnecessarily difficult because of the author's deficiencies. The Dragon Book is a good book, but it's a hard book.
It would be interesting to hear your opinion of the book [Modern Compiler Design](https://www.amazon.com/Modern-Compiler-Design-Dick-Grune/dp/...).