From 8-Second Pauses to Sub-Millisecond: The 60-Year Evolution of Garbage Collection

In 1959, John McCarthy was building Lisp at MIT when he encountered a problem that would define decades of programming language design. Programs in Lisp created and destroyed linked structures constantly—lists within lists, functions returning functions, recursive structures that no programmer could feasibly track manually. McCarthy’s solution was to make memory management automatic. He called it “garbage collection,” dedicating just over a page in his seminal paper to describe a mark-and-sweep algorithm that would free programmers from the burden of explicit deallocation. ...

13 min · 2766 words

How WebAssembly Actually Runs in Your Browser: From Stack Machine to Machine Code

In April 2015, Luke Wagner made the first commits to a new repository called WebAssembly/design, adding a high-level design document for what would become the fourth language of the web. The project emerged from a convergence of efforts: Mozilla’s asm.js experiment had demonstrated that a strictly-typed subset of JavaScript could approach native speeds, while Google’s PNaCl and Microsoft’s efforts in this space had explored similar territory. What none of these projects achieved was cross-browser consensus. WebAssembly was designed from the start as a collaborative effort, with formal semantics written in parallel with its specification. ...

10 min · 2099 words

How V8 Turns Your JavaScript Into Machine Code: The Four-Tier Compilation Revolution

When Google released Chrome in 2008, its JavaScript performance was revolutionary. The secret was V8, an engine that compiled JavaScript directly to machine code rather than interpreting it. But the V8 of 2026 bears almost no resemblance to that original design. Four compilation tiers, speculative optimization based on runtime feedback, and a constant battle between compilation speed and execution speed have transformed JavaScript from a “slow scripting language” into something that routinely outperforms carefully optimized C++ for many workloads. ...

13 min · 2601 words