Ken Thompson
American computer scientist who created Unix and co-developed Go.
Kenneth Lane Thompson (born February 4, 1943) is an American pioneer of computer science. Thompson worked at Bell Labs for most of his career where he designed and implemented the original Unix operating system. He also invented the B programming language, the direct predecessor to the C language, and was one of the creators and early developers of the Plan 9 operating system. Other notable contributions included his work on regular expressions and early computer text editors QED and ed, the definition of the UTF-8 encoding, and his work on computer chess that included the creation of endgame tablebases and the chess machine Belle. Since 2006, Thompson has worked at Google, where he co-developed the Go language. In 1983, he won the Turing Award with his long-term colleague Dennis Ritchie. He is considered one of the greatest computer programmers of all time.
- born
- February 4, 1943
- field
- Computer science
- nationality
- American
- known_for
- Unix operating system, B programming language, UTF-8 encoding, Go language, regu
Verified Timeline
Lore & Background
Throughout the 1970s, Thompson and Ritchie collaborated on the Unix operating system; Doug McIlroy later wrote, "The names of Ritchie and Thompson may safely be assumed to be attached to almost everything not otherwise attributed." Thompson stated that the first versions of Unix were written by him, and that Ritchie began to advocate for the system and helped to develop it: "I did the first of two or three versions of UNIX all alone. And Dennis became an evangelist." In 1975, Thompson took a sabbatical from Bell Labs and went to UC Berkeley, where he helped to install Version 6 Unix on a PDP-11/70; Unix at Berkeley later became the Berkeley Software Distribution (BSD). In early 1976, Thompson wrote the initial version of Berkeley Pascal. He wrote a chess-playing program called "chess" for the first version of Unix (1971), and later with Joseph Condon created the hardware-assisted program Belle, a world champion chess computer. He also wrote programs for generating endgame tablebases for all 4, 5, and 6-piece endings. In 1983, Thompson and Ritchie jointly received the Turing Award "for their development of generic operating systems theory and specifically for the implementation of the UNIX operating system." Thompson's acceptance speech, "Reflections on Trusting Trust," presented the persistent compiler backdoor attack now known as the Thompson hack. In 1992, Thompson developed the UTF-8 encoding scheme together with Rob Pike. Since 2006, he has worked at Google, where he co-developed the Go language.
Reader's Guide
Ken Thompson's significance lies in his foundational contributions to modern computing. His design and implementation of the Unix operating system established a paradigm for multi-user, multitasking systems that influenced virtually all subsequent operating systems. The B programming language, which he invented, directly led to the development of C, the most influential systems programming language. Thompson's work on regular expressions, through the QED and ed editors and his construction algorithm, became a standard tool in text processing. His co-creation of the UTF-8 encoding enabled global text representation on the web. His computer chess work, including Belle and endgame tablebases, advanced artificial intelligence. The Turing Award he received with Dennis Ritchie in 1983 recognized their development of generic operating systems theory and the implementation of Unix. His 1983 Turing Award lecture, 'Reflections on Trusting Trust,' introduced a compiler backdoor attack that remains a seminal work in computer security. At Google, he co-designed the Go language, which emphasizes simplicity and efficiency. Thompson's career at Bell Labs and Google spans over five decades of innovation that continue to shape computing.
Did You Know?
- Thompson created the Bon programming language while working on Multics at Bell Labs in the 1960s.
- He wrote the initial version of Berkeley Pascal in early 1976 at UC Berkeley.
- Thompson's 1983 Turing Award acceptance speech, 'Reflections on Trusting Trust,' introduced the compiler backdoor attack now known as the Thompson hack.
- In 1992, Thompson co-developed the UTF-8 encoding scheme with Rob Pike.
- Thompson assisted in the implementation of Turochamp, a chess program Alan Turing devised in 1948, in 2004.
From a Video Game to an Operating System
Thompson's path to creating one of the most influential operating systems in history began with a simple desire to keep playing a game. After Bell Labs withdrew from the MULTICS project in the late 1960s, Thompson found an old PDP-7 machine and rewrote his video game Space Travel on it. That small act of personal convenience snowballed into something far larger. Working on that PDP-7, a team of Bell Labs researchers led by Thompson and Ritchie, and including Rudd Canaday, developed a hierarchical file system, the concepts of computer processes and device files, a command-line interpreter, pipes for easy inter-process communication, and some small utility programs. In 1970, Brian Kernighan suggested the name "Unix", in a pun on the name "Multics". After initial work on Unix, Thompson decided that Unix needed a system programming language and created B, a precursor to Ritchie's C. What started as a programmer's toy on a discarded machine became the foundation upon which much of modern computing rests.
The Partnership That Built Modern Computing
Thompson and Dennis Ritchie formed a collaborative partnership so deep and productive that colleague Doug McIlroy later observed their names could safely be assumed attached to nearly everything in Research Unix that wasn't explicitly credited to someone else. Thompson himself described the early division of labor: he wrote the first one or two versions of Unix entirely alone, while Ritchie became the system's evangelist. When the pair rewrote the operating system in a higher-level language for the PDP-11, Ritchie focused on the language itself and the I/O subsystem, while Thompson handled the rest of the operating system. Thompson noted the PDP-11 was serendipitous because it went on to dominate academic computing. The C language, which emerged from that rewriting, became, in Thompson's words, perfect for writing systems. In 1983, the two shared the Turing Award for developing generic operating systems theory and specifically implementing Unix. Thompson's acceptance speech, "Reflections on Trusting Trust," introduced the concept of a persistent compiler backdoor attack and remains a landmark in computer security.
The Hidden Architecture of Text Processing
Long before regular expressions became a staple of nearly every text-processing tool, Thompson was quietly laying the groundwork. In the 1960s, he developed the CTSS version of the editor QED, which incorporated regular expressions as a mechanism for searching through text. His later editor, ed, became the standard text editor on Unix and further cemented the technique's utility. The influence of these two programs was enormous: regular expressions grew to pervade Unix text-processing utilities, and virtually every program that handles regular expressions today relies on some variant of Thompson's original notation. Beyond the notation itself, Thompson devised a construction algorithm that converts regular expressions into nondeterministic finite automata, dramatically speeding up pattern matching. This work, rooted in a practical need to make text searching efficient on early systems, became one of the most widely adopted formalisms in computer science, embedded in tools and applications far beyond its original context.
Chess Machines and a Second Act
Thompson's intellectual curiosity extended well beyond operating systems into the world of chess. He wrote a chess-playing program called "chess" for the first version of Unix in 1971, and later, together with Joseph Condon, built Belle, a hardware-assisted chess computer that achieved world championship status. He also generated complete endgame tablebases for all four-, five-, and six-piece endings, enabling chess programs to play perfectly once a memorized position was reached. With the help of endgame specialist John Roycroft, Thompson distributed his earliest tablebase results on CD-ROM. The ICGA Journal devoted nearly an entire issue to his chess contributions in 2001. After a long tenure at Bell Labs, Thompson joined Google in 2006, where he co-developed the Go programming language. He also contributed to Plan 9, a later operating system he helped create and develop. Across these diverse pursuits, a consistent pattern emerges: Thompson approaches problems with fundamental elegance, building tools that quietly reshape entire fields.
More in Pioneers Of Computing And Information Theory 1-18
Spotted an error? Know more?
This is a living reference — every entry is fact-audited, and reader corrections feed straight into our audit queue. Suggest an edit · See this site's audit record
