Programming Languages
Deep dives into programming languages — new features, performance, and ecosystem developments.
14 Articles
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...
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...
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...
What Happens When an Open Source Project Loses Its Leader
When Ryan Dahl stepped back from Node.js, the project survived — but it took years of governance restructuring, a fork (io.js), and a reconciliation before it...
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...
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...
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...
FFmpeg Demystified: The Mental Model You're Missing
We've all been there. You need to convert a video, so you Google it and find a Stack Overflow answer with a command that looks like someone smashed their...
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...
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...
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...
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...
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 —...
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...