Top all-time · #146
Robert Nystrom
Personal blog · craftinginterpreters.com · on HN as munificentprogrammingwriting
Robert Nystrom writes Crafting Interpreters, a personal blog at craftinginterpreters.com about programming and writing. Since 2017, 277 different Hacker News readers have linked it 389 times, most often “Crafting Interpreters”. No feed was found, so read it on the site itself.
Often recommended · 24 of 40 sampled comments recommend it?
Why HN links it
HN readers link craftinginterpreters.com as a free, step-by-step book for building a language and a VM, and as an example of readable technical writing. It is often suggested to people learning to write interpreters or compilers.
- Recommended for · 24 comments
- Called excellent, remarkably readable, super friendly and fantastically well-written; 'clear writing' with humor.
Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Crafting Interpreters97 people · 107 mentions · first linked 2018-08-27
- Crafting Interpreters is available in print32 people · 38 mentions · first linked 2018-02-26
- Show HN: Crafting Interpreters – A handbook for making programming languages26 people · 32 mentions · first linked 2017-01-15
- /19 people · 19 mentions · first linked 2019-07-12
- Crafting Interpreters – Web Version18 people · 18 mentions · first linked 2020-05-03
- Crafting Interpreters13 people · 13 mentions · first linked 2017-08-04
- Crafting Interpreters12 people · 12 mentions · first linked 2019-11-25
- /6 people · 6 mentions · first linked 2017-02-16
- /representing-code.html5 people · 6 mentions · first linked 2020-07-09
- /introduction.html5 people · 5 mentions · first linked 2022-06-22
What Hacker News says?
I'm following the second part of: https://www.craftinginterpreters.com/
Comment linking /
on “Ask HN: What's your quarantine side project?”Submitted Crafting Interpreters is available in print as a story · 623 points
HN discussionI don't work in typical OO codebases, so I wasn't aware of what the visitor pattern even is. But there's an _excellent_ book about building an interpreter (and vm) "crafting interpreters". It has a section where it uses the visitor pattern. https://craftinginterpreters.com/representing-code.html#the-... I remember reading through it and not understanding why it had to be this complicated and then just used a tagged…
Comment linking /representing-code.html
on “The Grug Brained Developer (2022)”Submitted Crafting Interpreters as a story · 607 points
HN discussionLink to Book of Shaders: https://thebookofshaders.com/ (And a big +1 on the recommendation) Another piece of technical documentation that stuck out to me recently as remarkably readable (though I haven't finished reading it): https://craftinginterpreters.com/
Comment linking /
on “Interactive Linear Algebra”Submitted Show HN: Crafting Interpreters – A handbook for making programming languages as a story · 423 points
HN discussionThe best solution I've seen for making sidenotes responsive is to move them into the body text. Examples: http://craftinginterpreters.com/a-map-of-the-territory.html https://www.martigeon.com/textbook-themed-webdesign/ I'm not sure how well this would work for shorter notes though.
Comment linking /a-map-of-the-territory.html
on “Ask HN: What is your blog and why should I read it?”Submitted Show HN: How to write a recursive descent parser as a story · 347 points
HN discussionOn a smiliar note, but with Java and C, "Crafting Interpreters" - https://craftinginterpreters.com/
Comment linking /
on “Ask HN: What are some books where the reader learns by building projects?”Submitted Crafting Interpreters as a story · 274 points
HN discussionAuthor here. Also you can read the whole book online for free: http://craftinginterpreters.com/
Comment linking /
on “Advanced Compilers: Self-Guided Online Course”Submitted Crafting Interpreters: Closures as a story · 269 points
HN discussionCompilers books: I'd start with "Engineering a Compiler" by Keith Cooper and Linda Torczon. http://craftinginterpreters.com/ is also a pretty great, programming-oriented intro, which may be good to work through alongside. For more on the analysis & compiler optimization side, "SSA-based Compiler Design" ( http://ssabook.gforge.inria.fr/latest/; GitHub Mirror: https://github.com/pfalcon/ssabook ) is a good follow-up.…
Comment linking /
on “Advanced Compilers: Self-Guided Online Course”Submitted Crafting Interpreters: Superclasses as a story · 253 points
HN discussionCrafting interpreters. It's still a work in progress, but the chapters published so far are very good. http://www.craftinginterpreters.com
Comment linking /
on “Ask HN: What are some books where the reader learns by building one project?”Submitted A Virtual Machine as a story · 245 points
HN discussionWhat a delightful coincidence! I just posted the next chapter on my in-progress book "Crafting Interpreters" which walks you through implementing an interpreter (well, two actually) from scratch, a chapter at a time: http://www.craftinginterpreters.com/ I really liked "Build Your Own Lisp" too. Fun book. :)
Comment linking /
on “Ask HN: What are some books where the reader learns by building one project?”Submitted Garbage Collection as a story · 230 points
HN discussion1. Peter Norvig's Design of Computer Programs course on Udacity probably singlehandedly changed my perspective on thinking and modeling software solutions to problems. https://www.udacity.com/course/design-of-computer-programs--... 2. Crafting Interpreters by Robert Nystrom is of similar quality. There are a lot of 'oh that's how that works' moments in this book. https://craftinginterpreters.com/ 3. Doyle Brunson's…
Comment linking /
on “Ask HN: Do you recall any book or course that made a topic finally click?”Submitted Crafting Interpreters: Classes and Instances as a story · 224 points
HN discussionStop using labels to define yourself: Loser, Loner. If you do, at least use positive ones: Winner, extrovert and fake it until you make it. But I would never use labels at all. I have won several times, but it came after lots of work, effort and sacrifice, before winning I lost other things. You need to have something in your life that it more important than money or status. A mission that is not about you, but abou…
Comment linking /
on “Ask HN: Burnt-out, directionless but want to turn it around”Submitted Crafting Interpreters Is Complete as a story · 199 points
HN discussionThe second half of Crafting Interpreters [0] does this—rather than outputting the AST, the bytecode interpreter outputs bytecode directly. Essentially, the process of creating the AST is already very similar to the tree traversal you'll do to unpack it (recursive descent parsing is a traversal of the tree, just in the call stack rather than over a real data structure), so if you don't need the AST you can skip it an…
Comment linking /
on “Why SQLite Uses Bytecode”Submitted Crafting Interpreters as a story · 187 points
HN discussionI have to ask about http://craftinginterpreters.com/introduction.html#snippets > In the center, you have the new code being added in this snippet. It may have a few faded out lines above or below to show you where to insert it in the existing code. There is also a little blurb telling you which file and where in the file it goes. If it says “replace _ lines”, there was some previous code between the faded lines that…
Comment linking /introduction.html
on “Crafting “Crafting Interpreters””Submitted Crafting Interpreters – Web Version as a story · 176 points
HN discussionOne of the best free resources on making interpreters (with VM, OOP and garbage collection support): https://craftinginterpreters.com
Comment linking /
on “More challenging projects every programmer should try”Submitted Crafting Interpreters: Calls and Functions as a story · 172 points
HN discussionNo, I've just skimmed over some of its chapters to clarify some concepts. I've mostly learned by reading code and then trying to implement my own type systems. Algorithm W is really quite simple and basic. Another good resource could be Programming Language Zoo http://plzoo.andrej.com/ that covers different evaluation techniques as well. In general, I've been "involved" in PL design for quite some time, so I've no i…
Comment linking /
on “Ask HN: What's your favorite elegant/beautiful algorithm?”Submitted Jumping Back and Forth as a story · 145 points
HN discussion