Creating a programming language
Thorsten Ball joined the show to talk about creating a programming language, writing an interpreter, why he wrote the book “Writing An Interpreter in Go”, how writing a language/interpreter will help you better understand other programming languages, building a computer from Nand to Tetris, and his thoughts on imposter syndrome.
Changelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!
Linode – Our cloud server of choice. Get one of the fastest, most efficient SSD cloud servers for only $5/mo. Use the code
changelog2017to get 4 months free!
- Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform.
- Backtrace – Reduce your time to resolution. Go beyond stacktraces and logs. Get to the root cause quickly with deep application introspection at your fingertips.
- StackImpact – StackImpact is all about profiling and monitoring for Go. Laser focus on the performance of your Go applications.
- Thorsten Ball – Twitter, GitHub, Website
- Erik St. Martin – Twitter, GitHub
- Carlisia Thompson – Twitter, GitHub, LinkedIn
- Brian Ketelsen – Twitter, GitHub
Notes and Links
- Writing An Interpreter In Go - 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. Step by step. From tokens to output. All code shown and included. Fully tested.
- The Elements of Computing Systems: Building a Modern Computer from First Principles
- From NAND to Tetris
- Go Advent 2016 blog series
- Damian Gryski is now a /r/golang moderator
- Take the 2016 Go User Survey — the goal is to create the best language for developing simple, reliable, scalable software. We are asking you to help by participating in a survey and if applicable, a company questionnaire.
- From Coursera — Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course)
Something missing or broken? PRs welcome!