Person

Ken Thompson

1960s–present

Ken Thompson
Computing Operating Systems Programming Languages

Ken Thompson (born 1943) is an American computer scientist who co-created the Unix operating system and the Go programming language. His work on Unix with Dennis Ritchie established the foundation for most modern operating systems, from Linux servers to smartphones.

Early Life and Education

Kenneth Lane Thompson was born on February 4, 1943, in New Orleans, Louisiana. His father served in the U.S. Navy, so the family moved frequently during his childhood.

Thompson attended the University of California, Berkeley, earning a bachelor’s degree in 1965 and a master’s degree in 1966, both in electrical engineering and computer science[1]. His master’s thesis advisor was Elwyn Berlekamp.

Bell Labs and Multics

In 1966, Thompson joined Bell Labs’ Computing Science Research Center. His early work involved Multics, an ambitious time-sharing operating system developed jointly by MIT, GE, and Bell Labs. While working on Multics, Thompson created the Bon programming language and a video game called Space Travel.

Creating Unix

When Bell Labs withdrew from Multics in 1969, Thompson wanted to continue playing Space Travel. He found an old PDP-7 minicomputer and began rewriting his game—and ended up creating a new operating system[2].

Working with Dennis Ritchie, Thompson developed Unix around several elegant principles: everything is a file, small tools that do one thing well, and composability through pipes. Brian Kernighan suggested the name “Unix” as a pun on Multics.

Thompson created the B programming language to help develop Unix. Ritchie later extended B into C, and in 1973 they rewrote Unix in C—making it the first portable operating system.

The B Programming Language

Thompson developed B in 1969 as a stripped-down version of BCPL suitable for the PDP-7’s limited memory. B was typeless (all values were machine words) and used a simple syntax. Though short-lived, B directly influenced C’s development and thus all C-derived languages.

Spreading Unix to Berkeley

In 1975-1976, Thompson took a sabbatical at UC Berkeley, his alma mater, where he helped install Unix on their PDP-11/70. This visit sparked the Berkeley Software Distribution (BSD), which added networking, the vi editor, and other features that became standard in Unix systems.

Chess Computing

Thompson’s interests extended to computer chess. He wrote a chess program for early Unix in 1971. Later, with Joseph Condon, he built Belle, a dedicated chess computer that became world champion and achieved master-level ratings[3].

UTF-8

In 1992, Thompson and Rob Pike designed UTF-8, a character encoding scheme for Unicode. UTF-8’s elegant design—ASCII-compatible, self-synchronizing, and space-efficient—made it the dominant encoding on the web, now used by over 98% of websites.

Go Programming Language

After retiring from Bell Labs in 2000, Thompson joined Google in 2006. There, he co-designed the Go programming language with Rob Pike and Robert Griesemer. Go combined the efficiency of compiled languages with the ease of dynamic languages, adding built-in concurrency through goroutines.

Go has become widely used for cloud infrastructure, powering Docker, Kubernetes, and many other modern systems.

Recognition

Thompson’s contributions have earned numerous awards:

He was elected to the National Academy of Engineering and named a Computer History Museum Fellow.


Sources

  1. ACM. “Kenneth Lane Thompson - A.M. Turing Award Laureate.” Biography and contributions.
  2. Nokia Bell Labs. “The Invention of Unix.” History of Unix’s creation.
  3. Wikipedia. “Ken Thompson.” Comprehensive biography including chess computing work.

Why You Should Care