Languages / Language
C
A portable assembler that ate the world.
C was written by Dennis Ritchie at Bell Labs around 1972, to solve a very concrete problem: Ken Thompson’s Unix was written in assembly and could not move between machines. C gave Unix a body it could travel in — by 1973 the kernel itself was rewritten in C, and the two have been inseparable ever since.
The pedigree
C did not appear from nowhere. Its family line descends straight from ALGOL: ALGOL 60 → CPL (Cambridge) → BCPL (Martin Richards) → B (Ken Thompson) → C (Dennis Ritchie). Each step shed weight. B was typeless; C added types and structures while keeping B’s blunt closeness to the machine.
Why it took over
C is often called a portable assembler: high enough to be structured, low enough that you can feel the hardware through it. Pointers, manual memory, and a tiny runtime meant it could go anywhere a compiler could be written — which turned out to be everywhere.
- 1978: Kernighan and Ritchie publish The C Programming Language — “K&R” — the book that taught a generation, and quietly defined the language.
- 1989: ANSI standardises it as C89 (C90 to ISO), and portability becomes a guarantee rather than a hope.
Its syntax is the ancestral home of C++, Objective-C, Java, C#, JavaScript, Go and more. When people say a language has “C-like syntax”, they mean this.
The people
Bell Labs had just walked away from the troubled Multics project, leaving Ken Thompson with a cast-off PDP-7 and an idea. In about three weeks in 1969 he wrote the first Unix on it — partly so he could run a game he had written called Space Travel — and Dennis Ritchie then gave that system a language so it could leave the single machine it was born on. Most of the software world traces back to that small, barely sanctioned project.
- Dennis Ritchie — known everywhere as dmr — created C and co-created Unix. He was self-effacing to the point of near-invisibility, yet quietly authored the tools the modern world runs on. His guiding value was a hard-won simplicity: “UNIX is basically a simple operating system,” he said, “but you have to be a genius to understand the simplicity.” Turing Award, 1983.
- Ken Thompson built Unix itself, and B — C’s direct parent — and much
later Go and UTF-8. He is the archetypal minimalist hacker: regular
expressions, the
ededitor, and a famous instinct to “use brute force” when cleverness was not worth it. He shared the 1983 Turing Award with Ritchie. - Brian Kernighan did not design C, but co-wrote The C Programming
Language and became its greatest teacher; his gift was clarity, making
hard ideas feel obvious. He also named Unix and is the “k” in
awk.
What made Bell Labs’ group different was the culture around them: no product deadlines, researchers free to build the tools they themselves wanted, and a shared taste for small pieces that compose. C is what that freedom produced.
Landmark open-source projects
- The Linux kernel — tens of millions of lines of C running most of the internet.
- SQLite — the most deployed database on Earth.
- Redis, Git, CPython and curl — all C at the core.
Try it
#include <stdio.h>
int main(void) {
puts("C: born at Bell Labs, 1972. Still everywhere.");
return 0;
}
Sources
- Ritchie, “The Development of the C Language” (1993) — dmr’s own account of the CPL → BCPL → B → C line.
See also: Bell Labs, ALGOL, Erlang (whose BEAM VM is written in C).