8 ms·
I feel obliged to mention "Compilers: Principles, Techniques, and Tools" or more commonly known as the dragon book. I loved that book.
by jfno67 4y ago
I feel obliged to mention "Compilers: Principles, Techniques, and Tools" or more commonly known as the dragon book. I loved that book.
- vkazanov 4y agodid you read it on your own? Or as a part of a uni course? It it a classic, sure, but it's definitely not a book to recommend to beginners. Many compiler engineers and academics think the book is... Outdated a bit.
- jfno67 4y agoI read it on my own, while I was writing compilers for a reengineering tool. I have to admit this was a very long time ago.
- oxff 4y agoFor beginners getting into "compilers", I would recommend starting with: 1. https://www.plai.org https://www.plai.org 2. Essentials of Compilation (Siek)
- vkazanov 4y agoWell, these 2 books lie on the academic side of language implementation / compilation. Both outstanding, but I cannot really suggest these to working programmers. A very easy way in would be a venerable Wirth's "Compiler Contruction", which takes a simplistic approach, e.g. concentrating on getting the result out as fast as possible. Somewhat similar, crisp in style and exposition, would be Nystrom's "Crafting Interpreters". It explains modern interpreter kind of language implementation (Python, JS, PHP and others), which includes compiling to bytecode and bytecode VM. There is a free online version of the book. Now, compilers are one of the oldest area of computer-related software research. There are many good books, numerous approaches and schools. Any recommendation should take concrete student's background into account. Say, improving a massive modern compiler backend requires a very different kind of recommendation compared with a make-my-own-language project.
- eru 4y agoIt felt quite outdated to me. I tried reading it quite a few years ago as a student, but gave up on the books old-fashioned ideas. The book is very imperative and doesn't really know much about modern abstractions for data structures. Something like https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_... is probably more fun for a beginner these days. (Languages in the ML family are really well suited to writing parsers, interpreters and compilers. That what that family of languages was designed for.)
- eatonphil 4y agoI too would not encourage any beginner to read this book.
- PatriciaCrowley 4y agoWhile it was commonly used, it really isn't that good of a book. Would you believe it doesn't discuss looping structures at all? No repeat, while, for loops. Last time I looked, for the latest edition of the book, you had to create a timed online account to access the chapters they didn't include in the book anymore. Ridiculous. Use any other book, I'd say.