James Whitfield

Systems thinker and language nerd. Writes about programming languages and emerging tech with historical context.

15 Articles

Programming Languages

Rob Pike's Programming Rules Are Still Right

In 1989, Rob Pike — who would later co-create Go, UTF-8, and Plan 9 — wrote down five rules of programming. They're short enough to fit on an index card and...

James WhitfieldJames Whitfield9 min read
Programming Languages

The Specification-Implementation Gap Is Where Bugs Live

There's a claim that surfaces periodically in programming language theory circles: 'a sufficiently detailed specification is indistinguishable from code.' The...

James WhitfieldJames Whitfield9 min read
Programming Languages

Embeddable Graph Databases Beyond SQLite

SQLite is everywhere. It's in your phone, your browser, your smart TV, probably your car. It solved a fundamental problem — giving applications a full SQL...

James WhitfieldJames Whitfield9 min read
Programming Languages

How JIT Compilers Make Dynamic Languages Fast

Ruby has a reputation for being slow. So does Python. So does JavaScript — or at least, it did, until V8 made it fast enough to run server-side workloads. The...

James WhitfieldJames Whitfield10 min read
Programming Languages

Java Keeps Getting Better and Nobody Notices

Java is the Rodney Dangerfield of programming languages: it gets no respect. Mention Java to most developers under 30 and they'll picture XML configuration...

James WhitfieldJames Whitfield9 min read
Programming Languages

CPU Branch Prediction: Your Code's Hidden Bottleneck

There's a famous Stack Overflow answer that's been viewed over 3 million times. The question: why is processing a sorted array faster than processing an...

James WhitfieldJames Whitfield10 min read
Programming Languages

What Building a Shell Teaches You About Unix

Every developer uses a shell daily. Few understand what it actually does. The shell looks like an application — you type commands, it runs them — but it's...

James WhitfieldJames Whitfield9 min read
Emerging Tech

GPU-Accelerated Terminals: TTYs to Glyph Atlases

In 1978, Digital Equipment Corporation shipped the VT100. It was a piece of furniture — a CRT in a beige enclosure, wired to a minicomputer via serial cable....

James WhitfieldJames Whitfield10 min read
Programming Languages

Why Lisp Still Matters After Six Decades

Every few years, someone writes a 'Lisp is dead' essay, and every few years, someone else points out that half the features in their favorite modern language...

James WhitfieldJames Whitfield9 min read
Programming Languages

The Linux System APIs Every Developer Should Know

In 1969, Ken Thompson and Dennis Ritchie sat in a Bell Labs office and made a series of design decisions that would outlast nearly every other piece of...

James WhitfieldJames Whitfield11 min read
Programming Languages

Python's JIT Compiler Is Finally Happening

Python has been 'too slow' for as long as Python has existed. The standard response from the Python community — 'use C extensions for the hot loops' — has...

James WhitfieldJames Whitfield9 min read
Programming Languages

Why jemalloc Matters: Memory Allocation at Scale

Every time your program calls malloc(), something has to decide which chunk of virtual memory to hand back. This decision — trivial for a small program —...

James WhitfieldJames Whitfield9 min read
Emerging Tech

VisiCalc and the Software That Made Hardware Worth Buying

Before VisiCalc, personal computers were toys for hobbyists. After VisiCalc, they were business tools. That's not an exaggeration — it's the documented sales...

James WhitfieldJames Whitfield9 min read
Emerging Tech

How JPEG Compression Actually Works

JPEG is the cockroach of file formats. It was standardized in 1992, predates the web browser, and has survived every attempt to replace it. WebP, AVIF, HEIC —...

James WhitfieldJames Whitfield10 min read
Programming Languages

Why Great Software Takes Time and Can't Be Rushed

Flask took eight years to reach version 1.0. SQLite has been in active development since 2000 and still gets meaningful improvements. The Linux kernel is over...

James WhitfieldJames Whitfield9 min read