4 ms·
Is there a good alternative to "Compilers: Principles, Techniques, and Tools"? I've been programming for a few years now and I'm looking to more formally educa
by drew-y 10y ago
Is there a good alternative to "Compilers: Principles, Techniques, and Tools"?
I've been programming for a few years now and I'm looking to more formally educate myself in general computer science. I've been told having a good grasp on compilers and interpreters can be useful for a wide variety of problems.
So far "Language Implementation Patterns" looks like it might be a promising alternative.
- nanolith 10y agoGive SICP a try. Then, pick up the dragon book if you enjoyed SICP. It's a different experience after that.
- stass 10y agoI highly recommend Modern Compiler Implenentation in ML by Andrew Appel (he is also an inventor of a number of important modern compilation techniques). I also rather enjoyed Crafting a Compiler. I found the explanations and excercises to be much more practical and enjoyable than the dragon book, but the code authors present is mostly garbage and full of global variables, state mutations and design pattern heavy. Ignore the code and do the excercises yourself. I always found the Dragon book to be too parsing-heavy which gets boring quickly. The books I listed spend far less time on parsing and much more on code generation and optimization which I find more enjoyable. YMMV.
- wtetzner 10y agoAnother book that's really good it Types and Programming Languages. It goes over how to define the operational semantics of a programming language, and then gives examples of how to implement them. It pretty much just glosses over parsing etc., and focuses on the semantics of a language, which IMHO is much more interesting. Sure, if you're building a real language implementation, you will need a parser, but in a lot of ways it's the least interesting part.
- dragonbonheur 10y agoRead "Let's Build a Compiler" by Jack Crenshaw http://compilers.iecc.com/crenshaw/ http://compilers.iecc.com/crenshaw/