Java & Programing languagesLightning talk20min
Don't Use a Language, Build One, And Actually Understand How It Works
A developer shares lessons from building two programming language interpreters—klox in Kotlin and clox in C—based on Crafting Interpreters. The talk explains interpreters, compilers, tree-walking, bytecode VMs, and the challenges of writing scanners, parsers, and low-level data structures in C.
talk.summaryAiDisclaimer
Aymane El MainiiMedia24
What actually happens after you hit "run"? Parsing, compiling, execution, it's easy to treat the whole thing as a black box best left to the compiler hackers.
This talk opens that box, using Lox, a small language from Crafting Interpreters, built two different ways. klox reads your code into a tree and walks it directly (in Kotlin), while clox compiles that same code down to bytecode and runs it on a virtual machine (in C). Same language, two completely different ways of bringing it to life. In 20 minutes, with no compiler-theory background required, we'll map the interpreter and compiler landscape (tree-walking, bytecode VMs, transpilers, single-pass) and see when each one makes sense, follow how a scanner and a recursive-descent parser turn plain text into something you can run, and find out what a bytecode VM really buys you, right down to why writing C means building everything yourself, including the hash table. You'll leave with a clear mental model of how the languages we use every day run under the hood, and the conviction that "build your own language" belongs on your project list, not just the experts.
This talk opens that box, using Lox, a small language from Crafting Interpreters, built two different ways. klox reads your code into a tree and walks it directly (in Kotlin), while clox compiles that same code down to bytecode and runs it on a virtual machine (in C). Same language, two completely different ways of bringing it to life. In 20 minutes, with no compiler-theory background required, we'll map the interpreter and compiler landscape (tree-walking, bytecode VMs, transpilers, single-pass) and see when each one makes sense, follow how a scanner and a recursive-descent parser turn plain text into something you can run, and find out what a bytecode VM really buys you, right down to why writing C means building everything yourself, including the hash table. You'll leave with a clear mental model of how the languages we use every day run under the hood, and the conviction that "build your own language" belongs on your project list, not just the experts.