Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Compilers: Principles, Techniques, and Tools
    • 4 stars, 97 reviews
    • I spent some serious quality time with the first edition (the "red dragon book"), in three main episodes over the past dozen years: 1) undergraduate compilers class, 2) industry project, and 3) parser generator implementation. During all three episodes, I was disappointed in various ways, though there is no denying that the book contains a wealth of information. As an undergraduate, I found the book somewhat impenetrable. When in industry, I found the book too abstract. When implementing a parser generator, I discovered that the book excludes important research results with regard to LR parser generation.
  • Principles of Compiler Design
    • 5 stars, 9 reviews
  • Engineering a Compiler
    • 4.5 stars, 12 reviews
  • Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages
    • 4.5 stars, 26 reviews
    • Guido van Rossum, creator of Python (Python forever!), commented: Throw away your compiler theory book! So I knew. I also found out that professor Parr has been teaching language applications programming for years. Then I knew. The book itself came from the famous Pragmatic Bookshelf. And I knew: LIP would be a good read.
  • Domain-Specific Languages
    • 4 stars, 14 reviews
    • Written by Martin Fowler, who also wrote "Refactoring"
    • As usual, Fowler delivers a very well structured book, easy to both read and use as reference material. He is a very able and pragmatic writer and that shows in this book.

      However, I can't consider this book a good text because of the things it omits. This is a book about designing DSLs and this task is one of the things functional languages excel at, but Fowler establishes in the introduction that he is going to happily ignore all things related to functional programming and never looks back. Anyone interested in designing DSLs owes it to himself to research Haskell, Scala and F# as they are vastly superior to Java in this respect.