When comparing Structure and Intepretation of Computer Programs vs Modern Compiler Design, the Slant community recommends Structure and Intepretation of Computer Programs for most people. In the question“What are the best resources to learn about compiler construction?” Structure and Intepretation of Computer Programs is ranked 2nd while Modern Compiler Design is ranked 5th. The most important reason people chose Structure and Intepretation of Computer Programs is:
This isn't a book you'll glean direct practical tidbits out of, an introduction to not only functional programming but how to think in a paradigm outside the usual way C*/Python/Ruby/Java/etc... are coded. Even if you wind up never working in Scheme or any other primarily functional language, the tactics and thought processes you'll learn here will apply to any currently-evolving language to a greater or lesser degree. You'll be able to map your thought process into the paradigm that works best for your current situation and not just be forced into a limited set of idioms that causes unnecessary boilerplate and clunky code mangling.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Knowledge can be applied to any language
This isn't a book you'll glean direct practical tidbits out of, an introduction to not only functional programming but how to think in a paradigm outside the usual way C*/Python/Ruby/Java/etc... are coded.
Even if you wind up never working in Scheme or any other primarily functional language, the tactics and thought processes you'll learn here will apply to any currently-evolving language to a greater or lesser degree. You'll be able to map your thought process into the paradigm that works best for your current situation and not just be forced into a limited set of idioms that causes unnecessary boilerplate and clunky code mangling.
Pro Teaches very important programming concepts
Like closures and encapsulation without language support of objects.
Pro Very good for absolute beginners
This book gives a great insight about immutable and mutable state (with pros and cons), typisation, FP, OOP, and many other things in a very beginner-friendly manner
Pro Covers broad range of topics
Modern Compiler Design covers a broad range of topics not often discussed in other compiler books. The compilation of parallel and logical languages for example.
Pro Good introduction
Modern Compiler Design touches on a variety of topics without being convoluted. It will help the reader grasp the fundamental concepts of compiler theory.
Cons
Con Poor pseudo-code
The pseudo-code can be difficult to read and follow.
Con Dull book
Modern Compiler Design has large chapters with a condensed layout and dull typography.