1943年2月4日,肯尼斯·蓝·汤普逊(Kenneth Lane Thompson)出生于美国路易斯安娜州。他设计实现Unix操作系统,创建了B语言(C语言的前身),合作创建UTF-8编码。
1960年,汤普逊就读加州大学柏克莱分校,主修电气工程,1966年获取了电子工程硕士学位。他的导师是埃尔温·伯利坎普(Elwyn Ralph Berlekamp)。
1966年,汤普逊加入贝尔实验室,他与丹尼斯·里奇(Dennis Ritchie)参与了贝尔实验室与麻省理工学院以及通用电气公司联合开发的Multics系统项目。与此同时,他又编写了一个名为“Space Travel”的游戏。
space travel游戏
后来贝尔实验室撤出Multics计划。为了能够继续玩游戏,汤普逊找到一台老式PDP-7机器,重写了他的“Space Travel”游戏。 他们开发的工具最终成为了Unix操作系统。
Unix最初在PDP-7上实现
完成Unix系统的初步开发后,汤普逊认为Unix系统在汇编语言之外还需要一个系统编程语言,于是他创造了B语言。后来里奇在B语言的基础上创造了C语言。
二十世纪60年代,汤普逊还参与过正则表达式(regular expressions)。他开发了编辑器 QED 的 CTSS 版本,其中包括用于搜索文本的正则表达式。QED 和汤普森后来的编辑器 ed(Unix 上的标准文本编辑器)极大地促进了正则表达式的最终普及,正则表达式在 Unix 文本处理程序中变得普遍。今天几乎所有使用正则表达式的程序都使用汤普森版本的一些变体。他还发明了汤普逊构造算法(Thompson's construction algorithm),用于将正则表达式转换为非确定性有限自动机,以使表达式匹配更快。
70年代和80年代,汤普逊和里奇继续开发Unix系统。在贝尔实验室设计实施9号计划(Plan 9)以替代Unix的过程中,汤普逊起到重大作用。 

1992年,汤普逊和罗勃·派克设计并实现了UTF-8编码方案,并将其用于Plan 9系统中。现在,UTF-8编码已经成为互联网的主要字符编码,在所有网页中,使用UTF-8编码的网页占了一半以上
2006年,汤普逊进入谷歌公司工作。他合作设计了Go语言。出于对C++的厌恶,他们讨论了语言的每一项特性,所以Go语言最终不含任何“无用的垃圾”。
资料来源:
https://en.wikipedia.org/wiki/Ken_Thompson
我们不需要英雄
但我们需要榜样
几只青椒
长按二维码关注
继续阅读
阅读原文