DEV Community

Corecursive

Compiling to Bytecode with 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 byte code. 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

https://corecursive.com/037-thorsten-ball-compilers/

 

Episode source