14 books
—
1 voter
Goodreads helps you keep track of books you want to read.
Start by marking “Writing An Interpreter In Go” as Want to Read:
Writing An Interpreter In Go
by
In this book we will create a programming language together.
We'll start with 0 lines of code and end up with a fully working interpreter for the Monkey programming language. Monkey has been specifically designed for this book: it's a language that looks a lot like C, has first class functions, closures, strings, hashes and arrays and its only implementation is the one we b ...more
We'll start with 0 lines of code and end up with a fully working interpreter for the Monkey programming language. Monkey has been specifically designed for this book: it's a language that looks a lot like C, has first class functions, closures, strings, hashes and arrays and its only implementation is the one we b ...more
ebook, 200 pages
Published
November 23rd 2016
Friend Reviews
To see what your friends thought of this book,
please sign up.
Reader Q&A
To ask other readers questions about
Writing An Interpreter In Go,
please sign up.
Popular Answered Questions
Community Reviews
Showing 1-30

Start your review of Writing An Interpreter In Go

I loved following this guide through from start to finish. For the most part I'd read and type out the code on my journeys to and from work on the train. There weren't very many places in the book where I had to stop and really concentrate without distractions, but that may be due to my having done compiler and interpreter courses at university a way back, as well as this being one of my main areas of interest in computer science.
When I followed this book through, my skill level with Go was as a ...more
When I followed this book through, my skill level with Go was as a ...more

I enjoyed reading this book. Currently, I'm interested in programming languages and how they work and this book did a fantastic job explaining to me a lot of things. I especially liked the Pratt Parsing section; it had nice images and accompanying code that make the explanations very understandable.
Another thing I liked is the way Thorsten explains concepts and then if it's not in the scope of the book, he gives you nuggets about it and challenges you to take it up and implement it. I liked tha ...more
Another thing I liked is the way Thorsten explains concepts and then if it's not in the scope of the book, he gives you nuggets about it and challenges you to take it up and implement it. I liked tha ...more

This book is amazing! I tried multiple times to study how to write an interpreter or a compiler, and most books and tutorials are just too academic and get lost in the theory.
This goes straight to the point. The code is easy to follow, the descriptions are clear, the algorithms simple and effective.
A must if you are starting out. You can always go deeper in the theory later.
This goes straight to the point. The code is easy to follow, the descriptions are clear, the algorithms simple and effective.
A must if you are starting out. You can always go deeper in the theory later.

Loved it! Really fun book if the material is something you're into. I'd highly suggest it.
...more

Really enjoyable and hands-on introduction to the subject.
Not trusting myself to mindlessly copy from the examples, I decided to follow this using Lua rather than Go, and it holds up surprisingly well. The whole book is written using the core Go packages, which makes the code very simple to read for somebody with no prior knowledge of the language. It was only at the very end when implementing hashmaps that I found myself having to deviate from the ideas presented, which seems to prove the value ...more
Not trusting myself to mindlessly copy from the examples, I decided to follow this using Lua rather than Go, and it holds up surprisingly well. The whole book is written using the core Go packages, which makes the code very simple to read for somebody with no prior knowledge of the language. It was only at the very end when implementing hashmaps that I found myself having to deviate from the ideas presented, which seems to prove the value ...more

Good and clear introduction into interpreters. Reader won't find a lot of theory in this book but instead going to build an actual and working interpreter for programming language called "Monkey". Which in my opinion is really good path to understand the way interpreters work. I was actually surprised with provided features of the language starting with basic data types, conditions, functions as first class citizens, closures and more. And everything is covered in this pretty-short book. Recomme
...more

The book is a great introduction to a complex (and very broad topic), I only had a basic understanding of how an interpreter works and the book helped me deepening my knowledge. I liked the approach too: the book is about writing the code for an interpreter and and the author does a great job of guiding the reader into the wonderful details of such a process.
I didn't give it the fifth star because the writing style is pretty annoying, I have to confess that. There are grammar mistakes I couldn't ...more
I didn't give it the fifth star because the writing style is pretty annoying, I have to confess that. There are grammar mistakes I couldn't ...more

I also used it to learn Go, typing the code for the project out along with the book. well written and perfect balance of technical/practical for me. The length was also well-tuned, stopping before concepts implemented became repetitive. Only negative is that the tests were quite cumbersome to write out, and possibly could have been simplified/given more scaffolding so less code was repeated, but they still worked very well for giving you intuition for how the code worked (and you could just copy
...more

It is a must if you want to deepen your understanding of how programming languages work; I suggest you follow it but also make your own design decisions along the way. I found myself spending hours on an end tinkering and fixing errors.
In the early phases, follow the book; but later on you can challenge yourself by trying to implement the functionalities on your own. It might backfire though but that's what makes it fun. ...more
In the early phases, follow the book; but later on you can challenge yourself by trying to implement the functionalities on your own. It might backfire though but that's what makes it fun. ...more

A really nice introduction to the topic! I still remember implementing an interpreter for a functional language in college, and ouch was it a pain. I was impressed by the simplicity of the Pratt parser and by the fact that I had never heard of it... The writing was mostly concise, clear and fun to read. My only pet peeve were the test code dumps, I know they are there for a reason and it was nice at the beginning, but afterwards it felt a bit repetitive and my eyes started to glaze over.

This book is a fantastic look at how interpreters are written. It demystifies the entire process, providing a high level overview of each section, code, and tests. I went into this book knowing nothing about Golang, and I came out feeling confident that I could build a programming language if I wanted to.

Absolutely loved the book. The author has impressive skills in making a dense subject quite simple to digest. The book uses a small subset of the language with limited use of the standard library. Even though I have been using Go for a while there were various novel aspect which I got to learn from it.
Highly recommended to anyone who didn't get a chance to learn the subject at Uni. ...more
Highly recommended to anyone who didn't get a chance to learn the subject at Uni. ...more

I had a great time reading this book. He manages to cover an enormous and daunting subject in a short book, with an approachable style. I felt like I learnt to approach the topic at a reasonably advanced level, while understanding the limitations of that level. There's oodles more to learn, but the platform is solid.
It feels like he learnt the content recently enough to guide you through his own learning process. This is my favourite style of teaching.
Finally, the 'toy' language he created - Mon ...more
It feels like he learnt the content recently enough to guide you through his own learning process. This is my favourite style of teaching.
Finally, the 'toy' language he created - Mon ...more
There are no discussion topics on this book yet.
Be the first to start one »
Goodreads is hiring!
News & Interviews
Kerine Wint is a software engineering graduate with more love for books than for computers. As an avid reader, writer, and fan of all things...
26 likes · 10 comments
No trivia or quizzes yet. Add some now »
“ILLEGAL and EOF. We didn't”
—
0 likes
More quotes…