Six hundred and forty pages in fifteen months
journal.stuffwithstuff.com
journal.stuffwithstuff.com
This is a great way to lead into the article. The author pulls off something that turns out to be extremely hard to get right: Interweave humor and slightly off-topic material into a technical post. Most of the time it falls flat, but not here. Looking forward to reading further.
I like the self-deprecating humor, and wish him well.
¹) https://www.amazon.nl/Crafting-Interpreters-Robert-Nystrom/d...
Also, cool to see him pull a Knuth and writing his own typesetting and build system for the book!
As for TFA: 640 pages in 15 months ain't bad. Some have a lot of discipline and can write five or ten pages a day, but that's really hard...
It took me 15 months to edit and typeset the print and ebook editions. The actual writing and illustrating part took me another ~4 years before that.
Bob also gave me a lot of insight on what it’s like working on programming languages in the industry when I reached out to him as an undergrad.
Can that stack produce well-structured, accessible HTML? Or are you suggesting that he still use HTML or Markdown as his source format, then use LyX only for the print version?
The first half uses Java, but sticks with a pretty vanilla subset. If you're comfortable in another OOP language, you should be able to squint and figure out what's going on.
The second half uses C. That does assume you have some basic familiarity with pointers, malloc(), etc. but doesn't assume you're a C expert. If you're totally new to C, it might be worth spending a little time learning the basics if you really want to grok the last half of the book. If you mostly want to understand the concepts around bytecode, stack-based VMs, and Pratt parsing, you can mostly ignore the C details and get by.
Also, the code in the book has been ported to many other languages:
https://github.com/munificent/craftinginterpreters/wiki/Lox-...
So you can always use those as a reference too.
Enjoy a whole lot of not anything in particular, now :)