Programming Language Guides

In-depth guides on how programming languages are made, implemented, bootstrapped, and related to each other. 10 guides covering compilers, runtimes, and language history.

What is Compiler Bootstrapping?

Compiler bootstrapping is the process of writing a compiler for a language in that same language. Learn how it works and which languages use it.

What is a Self-Hosting Compiler?

A self-hosting compiler is a compiler that can compile its own source code. Learn which languages are self-hosting and why it matters.

Compiler vs Interpreter vs Runtime

Understand the difference between a compiler, interpreter, and runtime, and how these determine what language an implementation is written in.

Programming Language Family Tree

Explore the family tree of programming languages. See how Fortran, LISP, C, and Simula gave rise to modern languages through 75+ years of evolution.

How JavaScript Engines Work

JavaScript engines like V8, SpiderMonkey, and JavaScriptCore are written in C++. Learn how they parse, compile, and execute JavaScript code.

How Python is Implemented

CPython is the reference Python implementation, written in C. PyPy uses RPython. Learn how Python interpreters work and what language each is written in.

How Rust is Bootstrapped

Rust is a self-hosting language. The Rust compiler (rustc) is written in Rust itself. Learn how the Rust bootstrap process works.

GCC vs LLVM: Compiler Infrastructure

GCC and LLVM are the two dominant open-source compiler infrastructures. Both are written in C++. Learn how they differ and which languages use each.

How Are Programming Languages Made?

Learn how programming languages are designed and implemented. Languages are built using other languages — compilers and interpreters are programs written in existing languages.

V8 vs SpiderMonkey vs JavaScriptCore

All three major JavaScript engines are written in C++. V8 powers Chrome and Node.js, SpiderMonkey powers Firefox, and JavaScriptCore powers Safari.