Languages & Interpreters: [book] [TeachYourselfCS1] crafting interpreters [Table of Contents · Crafting Interpreters](https://craftinginterpreters.com/contents.html) [Show HN: Crafting Interpreters - A handbook for making programming languages | Hacker News](https://news.ycombinator.com/item?id=13406081) work through the whole thing, attempting any of the challenges that keep my interest [book] [TeachYourselfCS2] THE DRAGON BOOK: Compilers: Principles, Techniques & Tools, Alex Aiken's Lagunitas course [STANFORD COURSES ON THE LAGUNITA LEARNING PLATFORM | Stanford Online](https://online.stanford.edu/lagunita-learning-platform) Use the course to get through Compilers: Principles, Techniques & Tools instead of doing the book outright [book] [TeachYourselfCS2alt(OLD)] As a potential alternative to the Dragon Book we suggest Language Implementation Patterns by Terence Parr. It is written more directly for the practicing software engineer who intends to work on small language projects like DSLs, which may make it more practical for your purposes. Of course, it sacrifices some valuable theory to do so. - For project work, we suggest writing a compiler either for a simple teaching language like COOL, or for a subset of a language that interests you. Those who find such a project daunting could start with Make a Lisp, which steps you through the project. [GitHub - kanaka/mal: mal - Make a Lisp](https://github.com/kanaka/mal) [Crafting Interpreters | Hacker News](https://news.ycombinator.com/item?id=40950235) [Crafting Interpreters](https://craftinginterpreters.com/) [Crafting Interpreters: A Review | Hacker News](https://news.ycombinator.com/item?id=31835818) [Crafting Interpreters: A Review | Chidi Williams](https://chidiwilliams.com/posts/crafting-interpreters-a-review) [Crafting "Crafting Interpreters" | Hacker News](https://news.ycombinator.com/item?id=22788738) [Crafting "Crafting Interpreters" - journal.stuffwithstuff.com](https://journal.stuffwithstuff.com/2020/04/05/crafting-crafting-interpreters/) [Crafting Interpreters | Hacker News](https://news.ycombinator.com/item?id=31200391) [The Lox Language · Crafting Interpreters](https://craftinginterpreters.com/the-lox-language.html) [Crafting Interpreters: 640 Pages in 15 Months | Hacker News](https://news.ycombinator.com/item?id=40177687) [640 Pages in 15 Months - journal.stuffwithstuff.com](https://journal.stuffwithstuff.com/2021/07/29/640-pages-in-15-months/) [So you want to design a programming language (2017) | Hacker News](https://news.ycombinator.com/item?id=30481035) [languagedesignnotes](https://cs.lmu.edu/~ray/notes/languagedesignnotes/) [Good Design is Imperfect Design, Part 1: Honest Names | Hacker News](https://news.ycombinator.com/item?id=28063617) [Good Design is Imperfect Design Part 1: Honest Names - Domain Language](https://www.domainlanguage.com/articles/good-design-is-imperfect-design-part-1-honest-names/) [Programming language theory - Wikipedia](https://en.wikipedia.org/wiki/Programming_language_theory) [GitHub - savannahostrowski/awesome-pl-resources: A curated list of resources for learning about programming language implementation and design (compilers, interpreters, optimization etc.)](https://github.com/savannahostrowski/awesome-pl-resources) [The Antipattern Scripting Language • Buttondown](https://buttondown.email/hillelwayne/archive/the-antipattern-scripting-language) [Some Rambling About Structured Text • Buttondown](https://buttondown.email/hillelwayne/archive/some-rambling-about-structured-text-940) [Being Popular](https://paulgraham.com/popular.html) ## Interpreter [YouTube-dl has an interpreter for a subset of JavaScript in 870 lines of Python | Hacker News](https://news.ycombinator.com/item?id=32793061) [Zhuowei Zhang on X: "youtube-dl has a JavaScript interpreter written in pure Python in 870 lines of code. https://t.co/5ZLZEhFRem ... wow." / X](https://twitter.com/zhuowei/status/1568659229887664129) [youtube-dl/youtube_dl/jsinterp.py at master · ytdl-org/youtube-dl](https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/jsinterp.py) ## Interpreter - Python [RustPython | Hacker News](https://news.ycombinator.com/item?id=39286458) [RustPython](https://rustpython.github.io/) [GitHub - RustPython/RustPython: A Python Interpreter written in Rust](https://github.com/RustPython/RustPython) [PyO3: Rust Bindings for the Python Interpreter | Hacker News](https://news.ycombinator.com/item?id=25956502) [PyO3/pyo3: Rust bindings for the Python interpreter](https://github.com/PyO3/pyo3)