[2月4日]科学历史上的今天——肯尼斯·蓝·汤普逊(Kenneth Lane Thompson)
1966年,汤普逊加入贝尔实验室,他与丹尼斯·里奇(Dennis Ritchie)参与了贝尔实验室与麻省理工学院以及通用电气公司联合开发的Multics系统项目。与此同时,他又编写了一个名为“Space Travel”的游戏。
space travel游戏
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
微信扫码关注该文公众号作者