Hacker News new | ask | show | jobs
by spacemanaki 5286 days ago
I've read quite a few comments on HN recommending Appel's Modern Compiler Implementation (ML, Java, and C versions exist) over the Dragon Book although I haven't read either so I can't vouch for it.

There's this list: http://www.reddit.com/r/compsci/comments/gprp0/is_there_a_li...

I would add Lisp In Small Pieces to the compilers section of that list.

2 comments

Queinnec's Lisp in Small Pieces is a superb book, if you liked that you might also like Henderson's book on implementation of functional PLs (particularly SECD machines.)

Regarding the list: I think it's a nice effort, but lacks several excellent and remarkable books. Just quickly browsing, I found the following essential books missing:

  * In algorithms: 
    - Aho, Hopcroft, Ullman: The Design and Analysis of Algorithms.
    - Wirth: Algorithms and Data Structures.
  * In Compilers:
    - Wirth: Compiler Construction.
    - Grune, Bal, Jacobs, Cerial: Modern Compiler Design.
    - Muchnick: Advanced Compiler Design and Implementation.
  * In Lambda calculus:
    - Barendregt: Introduction to Lambda Calculus.
  * In theoretical computer science:
    - Kozen: Automata and Computability.
    - Davis: Computability and Unsolvability.
  * In concepts of PLs:
    - Turbak, Gifford, Sheldon: Design Concepts in Programming Languages.
(In general, the list does not mention any of Wirth's books, which is a shame. The Project Oberon book should also be mentioned in OS stuff, I guess...)

Regarding compiler construction: As has been previously mentioned several times on HN, Cooper's and Torczon's "Engineering a Compiler" is a more recent and (IMHO much more readable and accessible) choice.

I did not like the Java version one bit, (I felt) there's a significant amount of hand-waving in the book.

I am however a big fan of Matt Might's lectures : http://matt.might.net/teaching/compilers/spring-2011/ - v beautiful slides, v nice approach overall.