Ken Thompson
American computer scientist who created Unix and co-developed Go.
Kenneth Lane Thompson, born February 4, 1943, is a pioneering American computer scientist. He spent most of his career at Bell Labs, where he created the original Unix operating system from scratch. He also developed the B programming language, which directly led to the C language, and helped build the Plan 9 operating system. His other major contributions include work on regular expressions, the early text editors QED and ed, the UTF-8 encoding standard, and computer chess—specifically, the chess machine Belle and the creation of endgame tablebases. Since 2006, Thompson has been at Google, where he co-created the Go programming language. In 1983, he and his longtime colleague Dennis Ritchie shared the Turing Award. He is widely regarded as one of the greatest programmers in history.
Thompson was born in New Orleans, Louisiana. He once said his fascination with logic led him to work on binary arithmetic problems for fun in grade school. He earned a Bachelor of Science in 1965 and a master’s degree in 1966, both in electrical engineering and computer sciences from UC Berkeley, where Elwyn Berlekamp advised his master’s thesis.
Hired by Bell Labs in 1966, Thompson worked with Dennis Ritchie on the Multics operating system. During that time, he created the Bon programming language and a video game called Space Travel. When Bell Labs left the Multics project, Thompson found an old PDP-7 machine to keep playing the game, rewriting Space Travel for it. The tools he built on that machine eventually evolved into Unix. Working on the PDP-7 with Ritchie and Rudd Canaday, Thompson’s team developed a hierarchical file system, processes, device files, a command-line interpreter, pipes for inter-process communication, and small utility programs. In 1970, Brian Kernighan coined the name “Unix” as a pun on “Multics.” After the initial Unix work, Thompson created the B language as a precursor to Ritchie’s C.
In the 1960s, Thompson also started working on regular expressions. He had developed the CTSS version of the editor QED, which used regular expressions for text searches. QED and his later editor ed (Unix’s standard text editor) helped popularize regular expressions, which became central to Unix text processing. Most modern programs that handle regular expressions use a variant of Thompson’s notation. He also invented Thompson’s construction algorithm, which converts regular expressions into nondeterministic finite automata for faster matching.
During the 1970s, Thompson and Ritchie collaborated closely on Unix. Doug McIlroy later noted that almost everything not otherwise attributed in Research Unix could be assumed to be their work. In a 2011 interview, Thompson said he wrote the first few versions of Unix alone, while Ritchie became its advocate and helped develop it. Thompson recalled that he did the operating system work, while Ritchie focused on the C language and the I/O system for the PDP-11, which became the machine that spread Unix through academia. Feedback from Thompson’s Unix work also shaped C, which he said “grew up with one of the rewritings of the system.”
In 1975, Thompson took a sabbatical from Bell Labs to return to UC Berkeley, where he helped install Version 6 Unix on a PDP-11/70. That version later became the Berkeley Software Distribution (BSD). In early 1976, he wrote the initial version of Berkeley Pascal at UC Berkeley, later modified by William Joy, Charles B. Haley, and Susan Graham. Thompson also wrote a chess program for the first Unix version in 1971. Later, with Joseph Condon, he built Belle, a world champion chess computer. He created programs to generate complete endgame tablebases for all 4-, 5-, and 6-piece endings, allowing computers to make perfect moves from those positions. With chess endgame expert John Roycroft, he distributed the results on CD-ROM. In 2001, the ICGA Journal devoted nearly an entire issue to his chess contributions.
In 1983, Thompson and Ritchie received the Turing Award for their development of generic operating systems theory and the implementation of Unix. Thompson’s acceptance speech, “Reflections on Trusting Trust,” introduced the persistent compiler backdoor attack now called the Thompson hack or trusting trust attack, and is considered a seminal work in computer security. In 2023, the backdoor’s annotated source code was published online.
- 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
