Ken Thompson facts for kids
Quick facts for kids
Ken Thompson
|
|
---|---|
![]() Thompson, 2019
|
|
Born |
Kenneth Lane Thompson
February 4, 1943 New Orleans, Louisiana, U.S.
|
Education | University of California, Berkeley (BS, MS) |
Known for |
|
Awards |
|
Scientific career | |
Fields | Computer science |
Institutions |
Kenneth Lane Thompson, born on February 4, 1943, is a famous American computer scientist. He worked at a place called Bell Labs for many years. There, he helped create the first Unix operating system. He also invented the B programming language, which led to the C language. He also helped make another operating system called Plan 9.
Since 2006, Mr. Thompson has worked at Google, where he helped create the Go language. He won the Turing Award, which is like a Nobel Prize for computer science. Many people think he is one of the greatest computer programmers ever.
He also worked on regular expressions, which are patterns used to find text. He helped create early text editors like QED and ed. Thompson also helped define UTF-8, a way computers store text. He worked on computer chess, creating endgame tablebases and the chess machine Belle. In 1983, he won the Turing Award with his friend and colleague, Dennis Ritchie.
Early Life and Education
Thompson was born in New Orleans, Louisiana. When asked how he learned to program, Thompson said he was always interested in logic. He even worked on math problems using binary numbers when he was in grade school. He did this just because he found it fascinating.

Thompson studied at the University of California, Berkeley. He earned his first degree in 1965 and a master's degree in 1966. Both degrees were in electrical engineering and computer sciences.
Career and Research
Thompson started working at Bell Labs in 1966. In the 1960s, he and Dennis Ritchie worked on an operating system called Multics. While working on Multics, Thompson created a programming language called Bon. He also made a video game called Space Travel.
Later, Bell Labs stopped working on the Multics project. To keep playing his game, Thompson found an old PDP-7 computer. He rewrote Space Travel to work on it. The tools Thompson developed for this eventually became the Unix operating system.
Developing Unix
Working on the PDP-7, a team of Bell Labs researchers led by Thompson and Ritchie developed Unix. This team included Rudd Canaday. They created a way to organize computer files, ideas for computer processes, and device files. They also made a way to type commands to the computer and pipes to help programs talk to each other. They also made some small helpful programs. In 1970, Brian Kernighan suggested the name "Unix." It was a playful twist on the name "Multics."
After starting Unix, Thompson decided it needed a special language for writing system programs. He created B, which was an early version of Ritchie's C language.
Thompson also started working on regular expressions in the 1960s. He had made a version of the editor QED that could search for text using regular expressions. QED and Thompson's later editor ed (which was the standard text editor on Unix) helped make regular expressions very popular. Today, almost all programs that use regular expressions use a style similar to Thompson's. He also invented an algorithm called Thompson's construction. This algorithm helps computers find matching text patterns faster.
The 1970s
Throughout the 1970s, Thompson and Ritchie worked together on the Unix operating system. They created so much for Research Unix that another scientist, Doug McIlroy, later said that if something wasn't specifically credited to someone else, it was probably made by Ritchie and Thompson.
In a 2011 interview, Thompson said that he wrote the first few versions of Unix by himself. He said Ritchie then became a big supporter of the system and helped develop it. Thompson explained:
I did the first of two or three versions of UNIX all alone. And Dennis became an evangelist. Then there was a rewrite in a higher-level language that would come to be called C. He worked mostly on the language and on the I/O system, and I worked on all the rest of the operating system. That was for the PDP-11, which was serendipitous, because that was the computer that took over the academic community.
The feedback from Thompson's Unix work also helped improve the C programming language. Thompson later said that the C language "grew up with one of the rewritings of the system." Because of this, it became "perfect for writing systems."
In 1975, Thompson took a break from Bell Labs. He went to his old university, UC Berkeley. There, he helped set up Version 6 Unix on a PDP-11/70 computer. Unix at Berkeley later became its own system, known as the Berkeley Software Distribution (BSD).
In early 1976, Thompson wrote the first version of Berkeley Pascal. This was at the Computer Science Division at UC Berkeley. Other people like William Joy and Susan Graham later made many changes and additions.
Thompson wrote a chess program called "chess" for the first version of Unix in 1971. Later, with Joseph Condon, Thompson created Belle. This was a chess computer that used special hardware and became a world champion. He also wrote programs to list all possible moves in chess endings. These are called endgame tablebases. They cover all 4, 5, and 6-piece endings. This allows chess programs to make "perfect" moves once they reach a position stored in these tables. Later, with help from chess expert John Roycroft, Thompson shared his first results on CD-ROM. In 2001, a computer chess journal dedicated almost an entire issue to Thompson's work in computer chess.
The 1980s

In 1983, Thompson and Ritchie received the Turing Award together. They won it for their work on operating systems and for creating the UNIX operating system. In his acceptance speech, "Reflections on Trusting Trust," Thompson talked about a clever computer security trick. This trick, now called the Thompson hack or trusting trust attack, is still considered a very important work in computer security. The source code for this trick was published online in 2023. At the end of his speech, Thompson criticized journalists for praising computer hackers.
A way to defend against the "Thompson hack" was developed by David A. Wheeler. It uses a method called diverse double compilation. This method helps find hidden tricks by creating and comparing reproducible builds.
Throughout the 1980s, Thompson and Ritchie kept improving Research Unix. Later versions used parts of the BSD system. In the mid-1980s, Bell Labs started working on a new operating system to replace Unix. Thompson was very important in designing and building Plan 9 from Bell Labs. This new operating system used ideas from Unix but applied them more widely to all parts of the system. Some programs from later versions of Research Unix, like mk and rc, were also put into Plan 9.
Thompson tested early versions of the C++ programming language for Bjarne Stroustrup. He wrote programs in it. However, he later stopped working with C++ because different versions often didn't work well together. In a 2009 interview, Thompson said he didn't like C++. He called it "a garbage heap of ideas that are mutually exclusive."
The 1990s
In 1992, Thompson worked with Rob Pike to create the UTF-8 encoding system. UTF-8 has become the most common way to store Unicode text on the World Wide Web. In 2019, it was used by over 90% of all web pages.
In the 1990s, work began on the Inferno operating system. This was another research operating system built around a portable virtual machine. Thompson and Ritchie continued to work together on Inferno, along with other researchers at Bell Labs.
In 1995, Thompson worked on music compression with Sean Dorward. This work was based on earlier research by Jim Johnston, guided by Joe Hall and Jont Allen.
The 2000s
Thompson retired from Bell Labs in late 2000.
In 2004, he helped create a chess program called Turochamp. This program was designed by Alan Turing in 1948, even before computers existed that could run it.
Thompson worked at Entrisphere, Inc. as a fellow until 2006.
The 2020s
As of 2024, he works at Google. He started as a Distinguished Engineer and later became a Google Advisor. His recent work includes helping to design the Go programming language. Talking about himself and the other original creators of Go, he said:
When the three of us [Thompson, Rob Pike, and Robert Griesemer] got started, it was pure research. The three of us got together and decided that we hated C++. [laughter] ... [Returning to Go,] we started off with the idea that all three of us had to be talked into every feature in the language, so there was no extraneous garbage put into the language for any reason.
Awards and Recognition
Thompson has received many important awards for his work.
National Academies
In 1980, Thompson was chosen to be part of the National Academy of Engineering. This was for designing UNIX, an operating system that helped a generation of minicomputers. In 1985, he was chosen to be a Member of the National Academy of Sciences.
Turing Award
In 1983, Thompson and Ritchie won the Turing Award together. They received it for their work on operating systems and for creating the UNIX operating system. In his acceptance speech, "Reflections on Trusting Trust," Thompson described a compiler backdoor attack. This attack is known as the Thompson hack or the trusting trust attack. It is still considered a very important work in computer security.
IEEE Richard W. Hamming Medal
In 1990, both Thompson and Dennis Ritchie received the IEEE Richard W. Hamming Medal. This award from the Institute of Electrical and Electronics Engineers (IEEE) was for creating the UNIX operating system and the C programming language.
Fellow of the Computer History Museum
In 1997, Thompson and Ritchie were honored as Fellows of the Computer History Museum. This was for creating the UNIX operating system and for developing the C programming language.
National Medal of Technology
On April 27, 1999, Thompson and Ritchie received the 1998 National Medal of Technology from President Bill Clinton. They received it for inventing the UNIX operating system and the C programming language. These inventions led to huge improvements in computers and helped grow an entire industry.
Tsutomu Kanai Award
In 1999, the Institute of Electrical and Electronics Engineers gave Thompson the first Tsutomu Kanai Award. This was for his role in creating the UNIX operating system, which has been a key platform for many computer systems for decades.
Japan Prize
In 2011, Thompson and Dennis Ritchie were given the Japan Prize for Information and Communications. This was for their pioneering work in developing the Unix operating system.
Personal Life
Ken Thompson is married and has a son. He used to use Apple products. However, he later switched to Raspberry Pi OS because he had some problems with Apple products.
See also
In Spanish: Ken Thompson para niños
- Brian Kernighan
- Rob Pike
- Dennis Ritchie