Kenneth Lane Thompson (born February 4 1943), commonly referred to as Ken Thompson (or simply ken in hacker circles), is an American pioneer of computer science notable for his work with the B programming language and his shepherding the Unix and Plan 9 operating systems.
In the 1960s, Thompson and Dennis Ritchie worked on the Multics operating system. While writing Multics, Thompson created the Bon programming language. The two left the Multics project as it was becoming too complex, but they took the lessons they learned to Bell Labs, where, in 1969, Thompson and Ritchie were the principal creators of the Unix operating system. There, Thompson also wrote the B programming language, a precursor to Ritchie's C.
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 default editor on Unix) contributed greatly to the eventual popularity of regular expressions, previously regarded mostly as a tool (or toy) for logicians. Regular expressions became pervasive in Unix text processing programs (such as grep), and even in some modern programming languages like Perl; they are a central concept in Rob Pike's sam text editor. Almost all programs that work with regular expressions today use some variant of Thompson's notation for them.
Along with Joseph Condon, he created the hardware and software for 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.
Thompson's style of programming has influenced others, notably in the terseness of his expressions and a preference for clear statements.
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.