Profile Picture
Learn from software development experts. Listen here!

Learning about Compilers and Bytecode from Thorsten Ball

What do compilers do? What is the runtime of a language? What does it mean to compile something down to bytecode and what executes the bytecode.  Throsten Ball answers these questions in this interview with Adam.

“A virtual machine is a computer built-in software, a CPU built-in software”
“Compilers can be slow. You know, I grew up running Linux and I had Gentoo running, so I basically let my computer run for the whole night to compile my window manager. So I do know how slow compilers can be and the reason they’re slow is because you’re paying the upfront costs that an interpreter pays at runtime. You’re paying a little bit more because you’re doing additional optimizations. You’re shifting the cost to a point in time where you’re happy to pay it.”

Writing A Compiler In GO

GCC Codebase Mirror

LLVM Codebase

TCC Compiler

C in 4 functions

8CC – small self-hosting compiler

Leave a Comment

Your email address will not be published. Required fields are marked *





  1. That was an incredible podcast, thank you. It’s amazing to know that bytecode is like machine code for VMs, etc., etc. for every lesson y’all covered. Thorsten Ball is a philosopher-engineer and such an incredible teacher of first principles. Thank you so much for the great episode.

  2. This book exists primarily as a high-level companion to The Reference. Where The Reference exists to detail the syntax and semantics of every part of the language, The Rustonomicon exists to describe how to use those pieces together, and the issues that you will have in doing so.

Subscribe / Listen Here

Learning about Compilers and Bytecode from Thorsten Ball