Ken Thompson (curler)
   HOME

TheInfoList



OR:

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 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 as ...
, and was one of the creators and early developers of the
Plan 9 Plan 9 or Plan Nine may refer to: Music * Plan 9 (band), a psychedelic rock band from Rhode Island * ''Plan 9'', an album by Big Guitars From Memphis with Rick Lindy * "Plan 9", a song on the 1993 album ''Gorgeous'' by electronica band 808 Stat ...
operating system. Since 2006, Thompson has worked at Google, 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 conc ...
. 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. He won the Turing Award 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 and, with long-time colleague Ken Thompson, the Unix operating system and B p ...
.


Early life and education

Thompson was born in New Orleans, Louisiana. 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 in 1965 and a master's degree in 1966, both in
Electrical Engineering and Computer Sciences 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 academic p ...
, from the University of California, Berkeley, where his master's thesis advisor was Elwyn Berlekamp.


Career and research

Thompson was hired by Bell Labs 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 and, with long-time colleague Ken Thompson, the Unix operating system and B p ...
worked on the Multics 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 operating system: Working on a PDP-7, a team of Bell Labs researchers led by Thompson and Ritchie, and including
Rudd Canaday Rudd Canaday is an American computer systems engineer and a previous member of the technical staff at the Bell Telephone Laboratories in Murray Hill, New Jersey, credited to co-develop the initial design of the Unix file system. In 2015 he join ...
, 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. In the 1960s, Thompson also began work on regular expressions. 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". 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 to ...
from Bell Labs and went to his alma mater, UC Berkeley. There, he helped to install Version 6 Unix on a PDP-11/70. 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, Berk ...
(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 ...
, 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 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 comput ...
. 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 "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 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, 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 encoding scheme together with Rob Pike. UTF-8 encoding has since become the dominant character encoding for the World Wide 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. 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 until 2006 and now works at Google, first as a Distinguished Engineer and now as Google Advisor. 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:


Preferred programming set-up

According to a 2009 interview, Thompson used a Linux-based operating system. A 2023 article commented on his long-time affinity for
Apple Computer Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company b ...
s, but noted that he has recently moved on to a Raspbian device.


Awards


National Academies

In 1980, Thompson was elected to the National Academy of Engineering 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.


Turing Award

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". In his acceptance speech, "Reflections on Trusting Trust", Thompson outlined an attack in the form of a
compiler backdoor A backdoor is a typically covert method of bypassing normal authentication or encryption in a computer, product, embedded device (e.g. a home router), or its embodiment (e.g. part of a cryptosystem, algorithm, chipset, or even a "homunculus co ...
that has been referred to as the Thompson hack or the trusting trust attack, and is widely considered a seminal computer security 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 in ...
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 Fellows 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 on ...
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 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 *
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 and, with long-time colleague Ken Thompson, the Unix operating system and B p ...


References

Sources *


External links


Ken Thompson
Bell Labs
Reflections on Trusting Trust
1983 Turing Award 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 MuseumReading Chess paper by HS Baird and Ken Thompson
on optical character recognition {{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 Kernel programmers