How Ken Thompson’s Journey Shaped UNIX, C, and Go – The Untold Story
Ken Thompson, the Turing‑award‑winning computer pioneer, co‑created UNIX, contributed to the Multics project, helped develop the C language, and later co‑designed Go at Google, with a life story that blends groundbreaking OS design, hacker culture, and a passion for aviation.
Early Life and Education
Ken Thompson was born in 1943. Fascinated by binary logic in elementary school, he explored various number systems and later excelled academically, earning a bachelor’s degree in electrical engineering from the University of California, Berkeley.
During his university years he discovered a love for computers, spending nights in the computer lab writing and playing games.
Bell Labs and the Multics Project
After graduating, Thompson joined Bell Labs, where he was impressed by the pioneering work of Hamming, Shannon, and others. In 1966 he and Dennis Ritchie began work on the ambitious Multics operating system, a collaborative effort with MIT and General Electric.
Multics suffered from excessive complexity, long development cycles, and high costs, leading Bell Labs to abandon the project in 1969.
Creation of UNIX
Motivated to continue his gaming hobby, Thompson repurposed a discarded PDP‑7 to rewrite his game and, within a month, built a complete operating system kernel, file system, editor, and compiler. He named it the UNiplexed Information and Computing System (UNICS), later renamed UNIX.
UNIX, C, and the KISS Philosophy
In 1973 UNIX was presented at an IBM operating‑system symposium, impressing the audience. To improve portability, the system was rewritten in the newly created C language by Dennis Ritchie, embodying the KISS (Keep It Simple, Stupid) design principle.
Controversial Backdoor
Thompson later admitted that he had left a backdoor in UNIX, not in the OS code itself but in the C compiler used to build it, allowing him to access colleagues’ accounts. This revelation highlighted early hacker culture and the importance of trust in toolchains.
Google and the Go Language
After retiring from Bell Labs in 2000, Thompson joined Google in 2006. There he co‑designed the Go programming language (Golang) alongside Rob Pike and Robert Griesemer, combining the performance of C with the productivity of dynamic languages.
Aviation Passion
Beyond programming, Thompson is an avid pilot who earned a private pilot’s license, frequently flying with colleagues. In 1992 he even piloted a MiG‑29 fighter jet in Moscow.
Legacy and Honors
Thompson’s contributions span operating systems, programming languages (B, the predecessor of C), UTF‑8 encoding, the ed editor, and Go. He received the 1983 Turing Award, the IEEE Computer Society Pioneer Award (1994), the U.S. National Medal of Technology (1998), and was inducted into the Computer History Museum Hall of Fellows.
macrozheng
Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.