Ken Thompson
Pioneering computer scientist, co-creator of Unix, B, Go, UTF-8, and regular expressions.
- Co-created the Unix Operating System with Dennis Ritchie (1969)
- Created the B programming language (the precursor to C)
- Co-designed the Go programming language (Golang) at Google
- Co-invented the UTF-8 character encoding with Rob Pike (1992)
- Invented Thompson's Construction Algorithm for Regular Expressions
- Turing Award Laureate (1983) & National Medal of Technology (1998)
Biography & Legacy
Kenneth Lane Thompson (born February 4, 1943) is an American computer scientist and hacker legend whose foundational inventions span operating systems, programming languages, character encodings, and algorithms.
The Genesis of Unix & B
In 1969 at Bell Labs, Thompson designed and implemented the original Unix operating system on a DEC PDP-7 minicomputer. To write system software more efficiently than raw assembly, Thompson created the B programming language, which Dennis Ritchie later adapted into C. Thompson’s focus on small, composable tools and the concept of “everything is a file” established the enduring Unix Philosophy.
Algorithmic Breakthroughs & Regular Expressions
Thompson invented Thompson’s Construction Algorithm, which converts non-deterministic finite automata (NFA) into deterministic finite automata (DFA) to evaluate regular expressions in linear time O(N)—the foundation of modern text matching tools (grep, sed, awk).
UTF-8 and Go (Golang) at Google
In 1992, during a dinner meeting with Rob Pike, Thompson designed the byte-stream encoding specification for UTF-8, enabling universal multilingual text representation without breaking legacy ASCII C software.
In 2007 at Google, Thompson teamed up with Robert Griesemer and Rob Pike to create Go (Golang), designing a statically typed, concurrent, garbage-collected systems language that powers modern cloud infrastructure (Docker, Kubernetes, Terraform).