2 ms·
Yes, that's exactly who it is aimed at. If you can write code in an imperative language—in other words you're a typical software engineer—then you should be abl
by munificent 5y ago
Yes, that's exactly who it is aimed at. If you can write code in an imperative language—in other words you're a typical software engineer—then you should be able to follow along fine.
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-Implementations https://github.com/munificent/craftinginterpreters/wiki/Lox-...
So you can always use those as a reference too.