Boy, what a book!
This goes right into the list of books I would have wanted to read 10 years ago: a masterpiece on programming languages, with the author showcasing an excellent ability to write couple with extremely exhaustive — but never boring — content.
Long story short, the interpreter book should definitely be on your 2019 reading list unless you’ve already read it. If that’s the case, give the book another try, it’s probably worth it.
First and foremost, I’d like to start by saying that picking Go for such a topic was an excellent choice: not everyone might be familiar with the language, but its standard library and “strictness” make it for a perfect choice for these kind of tasks.
An epic feat is that the book manages to write an entire interpreter using only the Go standard library: yes, no single dependency other than Go itself.
I’m not sure how to put it into words, but the writing style is also impeccable, as I started this book and had to finish it within 4 hours — I simply couldn’t get over it.
Writing An Interpreter In Go will spoon-feed you through the journey of writing “your own programming language”, presenting topics such as writing a lexer and parser in such a way that even the silliest of human beings (hey there, that’s me!) can understand them easily. I dunno, to me this book is simply a masterpiece.
Worth to note that the author just recently doubled up with a sequel to this book, Writing A Compiler In Go, that takes the codebase you ended up with the interpreter book and writes a compiler and VM for the language you’ve just built.
Go grab your copy!