Ken Thompson(1945 — ?)

Ken Thompson

Royaume-Uni

9 min read

TechnologySciencesInformaticien(ne)20th CenturyEra of modern computing and the digital revolution

American computer scientist, Ken Thompson is the co-creator of the Unix operating system with Dennis Ritchie at Bell Labs in the 1970s. He also designed the B programming language, the ancestor of C, and co-developed the Go language.

Famous Quotes

« One of my most productive days was throwing away 1000 lines of code. »
« When in doubt, use brute force. »

Key Facts

  • 1943: Born in New Orleans, Louisiana
  • 1969: Creation of Unix at Bell Labs with Dennis Ritchie
  • 1969–1970: Design of the B language, precursor to C
  • 1983: Turing Award (with Dennis Ritchie) for the creation of Unix
  • 2007: Co-creation of the Go language at Google

Works & Achievements

Unix (operating system) (1969)

Co-created with Dennis Ritchie at Bell Labs, Unix revolutionized computing with its founding principles — everything is a file, simple programs that can be combined, portability. It is the direct ancestor of Linux, macOS, Android, and virtually all modern operating systems.

B programming language (1969)

A programming language designed by Thompson as a simplification of BCPL to program Unix on the PDP-7. B is the direct ancestor of C, developed by Ritchie, which itself became the foundation for the majority of modern programming languages.

Formalization of regular expressions (1968)

Thompson formalized regular expressions in computer science and implemented them in the QED editor and later in Unix. His syntax is still universally used today across all code editors, programming languages, and search tools.

Belle (chess computer) (1973-1980)

Built with Joe Condon, Belle was one of the first dedicated high-level chess computers. World computer chess champion in 1980, it anticipated the brute-force search methods that would triumph with Deep Blue in 1997.

UTF-8 (universal encoding) (1992)

An encoding standard co-invented with Rob Pike on a paper placemat in a restaurant. UTF-8 is now the dominant encoding on the Web, enabling the characters of every language in the world to be displayed in a backward-compatible way.

Plan 9 from Bell Labs (1992)

An experimental successor to Unix, co-developed with Ritchie and Pike. Plan 9 pushes Unix principles to their logical extreme — everything, including the network, is represented as a file — and has influenced many concepts found in modern operating systems.

Go programming language (2009)

A programming language co-developed with Rob Pike and Robert Griesemer at Google, designed to be simple, efficient, and well-suited to distributed systems. Go is now used in critical infrastructure such as Docker, Kubernetes, and many cloud services.

Anecdotes

In 1969, Ken Thompson developed Unix in a matter of weeks on an old PDP-7 abandoned in the hallways of Bell Labs. The starting point was unexpected: he simply wanted to run his own video game, 'Space Travel', on a faster computer. This hobby gave birth to one of the most influential operating systems in the history of computing.

In 1984, during his Turing Award lecture, Thompson astonished his audience by revealing that he had modified the C compiler to quietly insert an undetectable backdoor — even when reading the source code. His demonstration, titled 'Reflections on Trusting Trust', proved that it is impossible to trust software you have not written entirely yourself, a founding principle of modern cybersecurity.

In the 1970s, Thompson and his colleague Joe Condon built Belle, a computer specially designed to play chess. In 1980, Belle won the World Computer Chess Championship and was awarded the title of Master by the United States Chess Federation — an extremely rare distinction granted to a machine. Thompson, passionate about chess since childhood, considered this project one of his most personally satisfying accomplishments.

In 1992, Thompson and Rob Pike designed the UTF-8 encoding on a paper napkin at a restaurant in New Jersey. This universal encoding, conceived in a single night, makes it possible to display characters from every language in the world in a way that is compatible with existing systems. Today, UTF-8 is the dominant encoding across the entire World Wide Web.

At over 60 years old, Thompson joined Google in 2006 and co-developed the Go programming language with Rob Pike and Robert Griesemer. Far from a quiet retirement, he started from scratch to design a modern language suited to distributed infrastructures. Go is now used in critical tools such as Docker and Kubernetes, confirming the exceptional and lasting reach of Thompson's influence.

Primary Sources

The UNIX Time-Sharing System (1974)
Unix is a general-purpose, multi-user, interactive operating system for the Digital Equipment Corporation PDP-11/40 and 11/45 computers. Its most important features are: a hierarchical file system incorporating demountable volumes; compatible file, device, and inter-process I/O; the ability to initiate asynchronous processes.
Reflections on Trusting Trust (Turing Award Lecture, ACM) (1984)
You can't trust code that you did not totally create yourself. No amount of source-level verification or scrutiny will protect you from using untrusted code. In demonstrating the possibility of this kind of attack, I picked on the C compiler.
Regular Expression Search Algorithm (Communications of the ACM) (1968)
A method for locating a match for a string specified by a regular expression in an arbitrary text string is described. The method bypasses compiling the regular expression into a machine and directly simulates the nondeterministic machine.
The Go Programming Language Specification (golang.org) (2009)
Go is a general-purpose language designed with systems programming in mind. It is strongly typed and garbage-collected and has explicit support for concurrent programming.

Key Places

New Orleans, Louisiana, United States

Birthplace of Ken Thompson, born on February 4, 1943. A culturally diverse metropolis in the American South, it represents Thompson's family roots before his journey to the West Coast.

University of California, Berkeley

The institution where Thompson earned his bachelor's degree in electrical engineering in 1965, followed by his master's degree in 1966. Berkeley was at the time one of the most dynamic centers of the emerging computing field in the United States.

Bell Labs, Murray Hill, New Jersey

The research center where Thompson worked from 1966 to 2000 and created the bulk of his life's work: Unix, the B programming language, Belle, UTF-8, and Plan 9. Bell Labs offered its researchers exceptional intellectual freedom, free from short-term commercial pressures.

Google Campus, Mountain View, California

Thompson joined Google in 2006 and co-developed the Go programming language there alongside Rob Pike and Robert Griesemer. It was on this campus that Thompson, at over 60 years old, contributed to a programming language that would go on to achieve worldwide success.

See also