Kenneth Lane Thompson (born February 4, 1943) is an American pioneer of
computer science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied science, practical discipli ...
. Thompson worked at
Bell Labs
Nokia Bell Labs, originally named Bell Telephone Laboratories (1925–1984),
then AT&T Bell Laboratories (1984–1996)
and Bell Labs Innovations (1996–2007),
is an American industrial research and scientific development company owned by mul ...
for most of his career where he designed and implemented the original
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, ...
operating system. He also invented the
B programming language, the direct predecessor to the
C programming language
''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well a ...
, and was one of the creators and early developers of the
Plan 9 operating system. Since 2006, Thompson has worked at
Google
Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
, where he co-developed the
Go programming language
Go is a statically typed, compiled programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. It is syntactically similar to C, but with memory safety, garbage collection, structural typing, and CSP-style co ...
.
Other notable contributions included his work on
regular expression
A regular expression (shortened as regex or regexp; sometimes referred to as rational expression) is a sequence of characters that specifies a search pattern in text. Usually such patterns are used by string-searching algorithms for "find" ...
s and early computer text editors
QED and
ed, the definition of the
UTF-8
UTF-8 is a variable-length character encoding used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode'' (or ''Universal Coded Character Set'') ''Transformation Format 8-bit''.
UTF-8 is capable of e ...
encoding, and his work on computer chess that included the creation of
endgame tablebases and the chess machine
Belle. He won the
Turing Award
The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in compu ...
in 1983 with his long-term colleague
Dennis Ritchie
Dennis MacAlistair Ritchie (September 9, 1941 – October 12, 2011) was an American computer scientist. He is most well-known for creating the C (programming language), C programming language and, with long-time colleague Ken Thompson, the Unix ...
.
Early life and education
Thompson was born in
. When asked how he learned to program, Thompson stated, "I was always fascinated with logic and even in grade school I'd work on arithmetic problems in binary, stuff like that. Just because I was fascinated."
Thompson received a
Bachelor of Science
A Bachelor of Science (BS, BSc, SB, or ScB; from the Latin ') is a bachelor's degree awarded for programs that generally last three to five years.
The first university to admit a student to the degree of Bachelor of Science was the University o ...
in 1965 and a
master's degree
A master's degree (from Latin ) is an academic degree awarded by universities or colleges upon completion of a course of study demonstrating mastery or a high-order overview of a specific field of study or area of professional practice. in 1966, both in
electrical engineering and computer science
Computer Science and Engineering (CSE) is an academic program at many universities which comprises scientific and engineering aspects of computing. CSE is also a term often used in Europe to translate the name of engineering informatics academi ...
, from the
University of California, Berkeley
The University of California, Berkeley (UC Berkeley, Berkeley, Cal, or California) is a public land-grant research university in Berkeley, California. Established in 1868 as the University of California, it is the state's first land-grant un ...
, where his master's thesis advisor was
Elwyn Berlekamp
Elwyn Ralph Berlekamp (September 6, 1940 – April 9, 2019) was a professor of mathematics and computer science at the University of California, Berkeley.Contributors, ''IEEE Transactions on Information Theory'' 42, #3 (May 1996), p. 1048. DO1 ...
.
Career and research
Thompson was hired by
Bell Labs
Nokia Bell Labs, originally named Bell Telephone Laboratories (1925–1984),
then AT&T Bell Laboratories (1984–1996)
and Bell Labs Innovations (1996–2007),
is an American industrial research and scientific development company owned by mul ...
in 1966. In the 1960s at Bell Labs, Thompson and
Dennis Ritchie
Dennis MacAlistair Ritchie (September 9, 1941 – October 12, 2011) was an American computer scientist. He is most well-known for creating the C (programming language), C programming language and, with long-time colleague Ken Thompson, the Unix ...
worked on the
Multics
Multics ("Multiplexed Information and Computing Service") is an influential early time-sharing operating system based on the concept of a single-level memory.Dennis M. Ritchie, "The Evolution of the Unix Time-sharing System", Communications of ...
operating system. While writing Multics, Thompson created the Bon programming language. He also created a video game called ''
Space Travel''. Later, Bell Labs withdrew from the MULTICS project. In order to go on playing the game, Thompson found an old
PDP-7 machine and rewrote ''Space Travel'' on it.
Eventually, the tools developed by Thompson became the
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, ...
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
: Working on a
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
Pipe(s), PIPE(S) or piping may refer to:
Objects
* Pipe (fluid conveyance), a hollow cylinder following certain dimension rules
** Piping, the use of pipes in industry
* Smoking pipe
** Tobacco pipe
* Half-pipe and quarter pipe, semi-circula ...
for easy inter-process communication, and some small utility programs. In 1970,
Brian Kernighan
Brian Wilson Kernighan (; born 1942) is a Canadian computer scientist.
He worked at Bell Labs and contributed to the development of Unix alongside Unix creators Ken Thompson and Dennis Ritchie. Kernighan's name became widely known through co- ...
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.
In the 1960s, Thompson also began work on
regular expression
A regular expression (shortened as regex or regexp; sometimes referred to as rational expression) is a sequence of characters that specifies a search pattern in text. Usually such patterns are used by string-searching algorithms for "find" ...
s. Thompson had developed the
CTSS version of the editor
QED, which included regular expressions for searching text. QED and Thompson's later editor
ed (the standard text editor on Unix) contributed greatly to the eventual popularity of regular expressions, and regular expressions became pervasive in Unix text processing programs. Almost all programs that work with regular expressions today use some variant of Thompson's notation. He also invented
Thompson's construction algorithm used for converting regular expressions into
nondeterministic finite automata in order to make expression matching faster.
1970s
Throughout the 1970s, Thompson and Ritchie collaborated on the Unix operating system; they were so prolific on
Research Unix that
Doug McIlroy later wrote, "The names of Ritchie and Thompson may safely be assumed to be attached to almost everything not otherwise attributed."
In a 2011 interview, 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:
Feedback from Thompson's Unix development was also instrumental in the development of the C programming language. Thompson would later say that the C language "grew up with one of the rewritings of the system and, as such, it became perfect for
writing systems
A writing system is a method of visually representing verbal communication, based on a script and a set of rules regulating its use. While both writing and speech are useful in conveying messages, writing differs in also being a reliable f ...
".
In 1975, Thompson took a
sabbatical
A sabbatical (from the Hebrew: (i.e., Sabbath); in Latin ; Greek: ) is a rest or break from work.
The concept of the sabbatical is based on the Biblical practice of '' shmita'' (sabbatical year), which is related to agriculture. According ...
from Bell Labs and went to his alma mater, UC Berkeley. There, he helped to install
Version 6 Unix
Sixth Edition Unix, also called Version 6 Unix or just V6, was the first version of the Unix operating system to see wide release outside Bell Labs. It was released in May 1975 and, like its direct predecessor, targeted the DEC PDP-11 family of ...
on a
PDP-11/70
The PDP-11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sol ...
. Unix at Berkeley would later become maintained as its own system, known as the
Berkeley Software Distribution
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Be ...
(BSD).
In early 1976, Thompson wrote the initial version of Berkeley Pascal at the Computer Science Division, Department of Electrical Engineering and Computer Science, UC Berkeley (with extensive modifications and additions following later that year by
William Joy
William Joy (fl. 1310 – 1348) was an English master mason, or architect, of the Decorated Gothic style, known for his work on several English cathedrals.
Joy's cathedral work shows influences of Bristol Cathedral, and he may have originated f ...
, Charles Haley and faculty advisor
Susan Graham).
Thompson wrote a chess-playing program called "chess" for the first version of Unix (1971).
Later, along with
Joseph Condon, Thompson created the hardware-assisted program
Belle, a world champion
chess computer.
He also wrote programs for generating the complete enumeration of
chess
Chess is a board game for two players, called White and Black, each controlling an army of chess pieces in their color, with the objective to checkmate the opponent's king. It is sometimes called international chess or Western chess to dist ...
endings, known as
endgame tablebases, for all 4, 5, and 6-piece endings, allowing chess-playing computer programs to make "perfect" moves once a position stored in them is reached. Later, with the help of chess endgame expert
John Roycroft, Thompson distributed his first results on
CD-ROM
A CD-ROM (, compact disc read-only memory) is a type of read-only memory consisting of a pre-pressed optical compact disc that contains data. Computers can read—but not write or erase—CD-ROMs. Some CDs, called enhanced CDs, hold both com ...
. In 2001, the ''
ICGA Journal'' devoted almost an entire issue to Thompson's various contributions to computer chess.
1980s
In 1983, Thompson and Ritchie jointly received the
Turing Award
The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in compu ...
"for their development of generic operating systems theory and specifically for the implementation of the UNIX operating system". His acceptance speech, "Reflections on Trusting Trust", presented the persistent compiler
backdoor attack now known as the ''
Thompson hack'' or trusting trust attack, and is widely considered a seminal
computer security
Computer security, cybersecurity (cyber security), or information technology security (IT security) is the protection of computer systems and networks from attack by malicious actors that may result in unauthorized information disclosure, t ...
work in its own right.
Throughout the 1980s, Thompson and Ritchie continued revising Research Unix, which adopted a BSD codebase for the 8th, 9th, and 10th editions. In the mid-1980s, work began at Bell Labs on a new operating system as a replacement for Unix. Thompson was instrumental in the design and implementation of the
Plan 9 from Bell Labs
Plan 9 from Bell Labs is a distributed operating system which originated from the Computing Science Research Center (CSRC) at Bell Labs in the mid-1980s and built on UNIX concepts first developed there in the late 1960s. Since 2000, Plan 9 has be ...
, a new operating system utilizing principles of Unix, but applying them more broadly to all major system facilities. Some programs that were part of later versions of Research Unix, such as
mk and
rc, were also incorporated into Plan 9.
Thompson tested early versions of the
C++ programming language for
Bjarne Stroustrup by writing programs in it, but later refused to work in C++ due to frequent incompatibilities between versions. In a 2009 interview, Thompson expressed a negative view of C++, stating, "It does a lot of things half well and it's just a garbage heap of ideas that are mutually exclusive."
1990s
In 1992, Thompson developed the
UTF-8
UTF-8 is a variable-length character encoding used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode'' (or ''Universal Coded Character Set'') ''Transformation Format 8-bit''.
UTF-8 is capable of e ...
encoding scheme together with
Rob Pike. UTF-8 encoding has since become the dominant character encoding for the
World Wide Web
The World Wide Web (WWW), commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the Internet.
Documents and downloadable media are made available to the network through web ...
, accounting for more than 90% of all web pages in 2019.
In the 1990s, work began on the
Inferno operating system, another research operating system that was based around a portable
virtual machine
In computing, a virtual machine (VM) is the virtualization/ emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized h ...
. Thompson and Ritchie continued their collaboration with Inferno, along with other researchers at Bell Labs.
2000s
In late 2000, Thompson retired from Bell Labs. He worked at Entrisphere, Inc. as a
fellow
A fellow is a concept whose exact meaning depends on context.
In learned or professional societies, it refers to a privileged member who is specially elected in recognition of their work and achievements.
Within the context of higher education ...
until 2006 and now works at
Google
Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
as a Distinguished Engineer. Recent work has included the co-design of the
Go programming language. Referring to himself along with the other original authors of Go, he states:
Programming setup
According to a 2009 interview, Thompson now uses a
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
-based operating system.
Awards
National Academies
In 1980, Thompson was elected to the
National Academy of Engineering
The National Academy of Engineering (NAE) is an American nonprofit, non-governmental organization. The National Academy of Engineering is part of the National Academies of Sciences, Engineering, and Medicine, along with the National Academy of ...
for "designing UNIX, an operating system whose efficiency, breadth, power, and style have guided a generation's exploitation of
minicomputer
A minicomputer, or colloquially mini, is a class of smaller general purpose computers that developed in the mid-1960s and sold at a much lower price than mainframe and mid-size computers from IBM and its direct competitors. In a 1970 survey, ' ...
s". In 1985 he was elected a
Member of the National Academy of Sciences
Membership of the National Academy of Sciences is an award granted to scientists that the National Academy of Sciences (NAS) of the United States judges to have made “distinguished and continuing achievements in original research”. Membership ...
.
Turing Award
In 1983, Thompson and Ritchie jointly received the
Turing Award
The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in compu ...
"for their development of generic operating systems theory and specifically for the implementation of the UNIX operating system". His acceptance speech, "Reflections on Trusting Trust", presented the
backdoor attack now known as the ''
Thompson hack'' or trusting trust attack, and is widely considered a seminal
computer security
Computer security, cybersecurity (cyber security), or information technology security (IT security) is the protection of computer systems and networks from attack by malicious actors that may result in unauthorized information disclosure, t ...
work in its own right.
IEEE Richard W. Hamming Medal
In 1990, both Thompson and Dennis Ritchie received the
IEEE Richard W. Hamming Medal
The IEEE Richard W. Hamming Medal is presented annually to up to three persons, for outstanding achievements in information sciences, information systems and information technology. The recipients receive a gold medal, together with a replica ...
from the
Institute of Electrical and Electronics Engineers
The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operation ...
(IEEE), "for the origination of the UNIX operating system and the C programming language".
Fellow of the Computer History Museum
In 1997, both Thompson and Ritchie were inducted as
Fellow
A fellow is a concept whose exact meaning depends on context.
In learned or professional societies, it refers to a privileged member who is specially elected in recognition of their work and achievements.
Within the context of higher education ...
s of the
Computer History Museum
The Computer History Museum (CHM) is a museum of computer history, located in Mountain View, California. The museum presents stories and artifacts of Silicon Valley and the information age, and explores the computing revolution and its impact o ...
for "the co-creation of the UNIX operating system, and for development of the C programming language".
National Medal of Technology
On April 27, 1999, Thompson and Ritchie jointly received the 1998
National Medal of Technology from President
Bill Clinton
William Jefferson Clinton (né Blythe III; born August 19, 1946) is an American politician who served as the 42nd president of the United States from 1993 to 2001. He previously served as governor of Arkansas from 1979 to 1981 and again ...
for co-inventing the UNIX operating system and the C programming language which together have "led to enormous advances in computer hardware, software, and networking systems and stimulated growth of an entire industry, thereby enhancing American leadership in the Information Age".
Tsutomu Kanai Award
In 1999, the
Institute of Electrical and Electronics Engineers
The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operation ...
chose Thompson to receive the first
Tsutomu Kanai Award "for his role in creating the UNIX operating system, which for decades has been a key platform for distributed systems work".
Japan Prize
In 2011, Thompson, along with Dennis Ritchie, was awarded the
Japan Prize for Information and Communications for the pioneering work in the development of the Unix operating system.
Personal life
Ken Thompson is married and has a son.
See also
*
Brian Kernighan
Brian Wilson Kernighan (; born 1942) is a Canadian computer scientist.
He worked at Bell Labs and contributed to the development of Unix alongside Unix creators Ken Thompson and Dennis Ritchie. Kernighan's name became widely known through co- ...
*
Dennis Ritchie
Dennis MacAlistair Ritchie (September 9, 1941 – October 12, 2011) was an American computer scientist. He is most well-known for creating the C (programming language), C programming language and, with long-time colleague Ken Thompson, the Unix ...
References
Sources
*
External links
Ken Thompson Bell Labs
Reflections on Trusting Trust1983
Turing Award
The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in compu ...
Lecture
Unix and Beyond: An Interview with Ken ThompsonIEEE Computer Society
The Linux Information Project (LINFO)
*Computer Chess Comes of Age
PhotosComputer History Museum
*Computer Chess Comes of Age
Video of Interview with Ken ThompsonComputer History Museum
Reading Chess paper by HS Baird and Ken Thompson
on optical character recognition
Optical character recognition or optical character reader (OCR) is the electronic or mechanical conversion of images of typed, handwritten or printed text into machine-encoded text, whether from a scanned document, a photo of a document, a sc ...
{{DEFAULTSORT:Thompson, Ken
Members of the United States National Academy of Sciences
American computer scientists
American computer programmers
American technology writers
Turing Award laureates
Multics people
Unix people
Plan 9 people
Inferno (operating system) people
Scientists at Bell Labs
National Medal of Technology recipients
UC Berkeley College of Engineering alumni
Programming language designers
Google employees
1943 births
Living people
Members of the United States National Academy of Engineering
20th-century American inventors
People from New Orleans