Crafting Interpreters: 640 Pages in 15 Months

(journal.stuffwithstuff.com)

264 points | by auraham 16 days ago

16 comments

  • jt2190 15 days ago
    This page has both links to purchase the book and a link to the free online version: https://craftinginterpreters.com/

    This is definitely a book that's worth purchasing: The care that Nystrom put into the designing the physical copy is worth it by itself if you're a print nerd. The hand-drawn illustrations plus the excellent writing make this better than 99% of technical books.

  • endgame 15 days ago
    This is one of the best technical books I have ever read. Having evolving code and a running program at the end of each chapter is an incredible vision, and props to the author for pulling it off. I skimmed the tree-walking interpreter as I'd written those before, then worked through the C-based bytecode interpreter and learned tonnes more.
  • spaintech 15 days ago
    Wow, I thought the article was recent and thought there was a second release.

    I’d like to congratulate the author, this is not only a great source of technical depth in the real of languages, but also a great read as far as the layout and the small details in the graphics made is a source that I just keeps me engaged in the reading. I’s one of those books that feels will be relevant for many-many-years to come!

    Congrats and thank you!

  • kelnos 14 days ago
    I started working through Crafting Interpreters back in 2017, and did the first half of the book (decided to write the lox implementation in Scala instead of Java), and it completely demystified tokenizers/lexers/parsers/interpreters for me. They were something I thought of as this arcane art that only a certain kind of programmer could work on. Absolutely credit this to Nystrom's brilliant writing and depth of understanding of the topic.

    I started writing the second interpreter in Rust, but life intervened and I didn't get far, and didn't finish it. I think it's time to get back to it!

    Though this post is a few years old, I hadn't known he decided to turn it into a physical book. That's not really the best way I learn, I don't think, but I'm tempted to buy one just to have it, and to support the author.

    • renewedrebecca 14 days ago
      I might be similar to you- web-based publications work better for me, but yeah, I bought the book too just to support Bob.
  • Derbasti 15 days ago
    This is one of the best technical computer books I have ever read. Thoroughly, thoroughly enjoyed it and learned a whole lot from it.

    And besides the great technical content, it is also well-written, funny, and well-illustrated. A monumental achievement!

  • episode0x01 15 days ago
    Excellent interview with Bob on this book that's worth a listen: https://corecursive.com/032-bob-nystrom-on-building-an-inter...
  • R41 14 days ago
    Ironically it took 15 months for me to read and finish the book :). I can very much relate to the author. A brilliant book written by a brilliant hardworking author. I got so much attached to the book I even created a page out of my learning.https://hexmos.com/compiler
  • sakesun 15 days ago
    > Not to start a flamewar, but why inDesign instead of plain old LaTeX?

    >> It's what I know. I used to be a graphic designer many years ago

    The author is a graphic designer turned into compiler engineer ? Wow. I'm impressed.

    • wdb 15 days ago
      I can imagine it is much quicker to make a prepress PDF for a book in Indesign than LaTeX. I would have picked InDesign too (also former designer)
  • molly0 15 days ago
    I have this Book sitting on my bookshelf. It will be my next interpreter book after “Writing an interpreter in Go” - it’s only ~200pages and I really like it.
  • 4hg4ufxhy 15 days ago
    I just finished the lexer using rust instead of Java, and looking forward to the rest. Great book so far!
  • tkubacki 15 days ago
    with a little help of this book a created simple parser for my step based animations project: https://github.com/dot-and-box/dot-and-box. Thanks Bob!
  • keyle 15 days ago
    (2021) - this is a great book and I thoroughly enjoyed it.
  • jinwoo68 15 days ago
    (2021)?
  • YZF 15 days ago
    Congrats to the author! I did a lot of research on interpreters as part of a high school project, a million years ago (give or take ;) ). There weren't any good resources, the few books I found in the university library on the topic were not that great. This book looks great and the web version is free, now just to find the time to read it!
  • hyperbrainer 15 days ago
    Brilliant resource for anybody beginning with programming languages