肯·汤普逊

✍ dations ◷ 2025-06-08 02:10:10 #1943年出生,在世人物,图灵奖获得者,美国国家科学院院士,美国计算机科学家,美国程序员,Unix人物,贝尔实验室科学家,编程语言设计者,Google雇员,美国

IEEE皮奥尔奖(英语:IEEE Emanuel R. Piore Award)(1982)
图灵奖(1983)
IEEE理察·卫斯里·汉明奖章(1990)
计算机先驱奖(英语:Computer Pioneer Award)(1994)
计算机历史博物馆研究员奖(1997)
美国国家技术奖章(英语:National Medal of Technology)(1998)
金井务奖(英语:Tsutomu Kanai Award)(Tsutomu Kanai Award)(1999)

肯尼斯·蓝·汤普逊(英语:Kenneth Lane Thompson,1943年2月4日-)小名肯·汤普逊(英语:Ken Thompson),美国计算机科学学者和工程师。黑客文化圈子通常称他为“ken”。在贝尔实验室工作期间,汤普逊设计和实现了Unix操作系统。他创造了B语言——C语言的前身,而且他是Plan 9操作系统的创造者和开发者之一。2006年,汤普逊进入Google公司工作,与他人共同设计了Go语言。他与丹尼斯·里奇同为1983年图灵奖得主。

此外,肯·汤普逊还参与过正则表达式和UTF-8编码的设计,改进了文本编辑器QED(英语:QED (text editor)),创造了ed编辑器。他曾制造过专门用于下国际象棋的电脑“Belle(英语:Belle (chess machine))”,并创建了残局数据库(英语:Endgame tablebase)。

肯·汤普逊在美国的新奥尔良出生。有人曾问他如何学会了编程,他表示自己只是因为对逻辑着迷。

1960年,他就读加州大学柏克莱分校,主修电气工程,1966年获取了电子工程硕士学位。他的导师是美国数学家、计算机科学家埃尔温·伯利坎普。1966年,肯·汤普逊加入贝尔实验室。他参与了贝尔实验室与麻省理工学院以及通用电气公司联合开发的Multics系统项目。在开发Multics系统期间,汤普逊创造了Bon编程语言。与此同时,他又编写了一个名为“Space Travel”的游戏。后来贝尔实验室撤出了Multics计划。为了能够继续玩游戏,汤普逊只好找到一台老式PDP-7机器,重写了他的“Space Travel”游戏。

在把游戏移植好之后,汤普逊又着手把自己的工具扩充成完备的操作系统。他和丹尼斯·里奇带领一些贝尔实验室的成员在PDP-7上面进行开发工作,实现了文件系统、进程、设备文件、命令行解释器和一些小的工具程序等。1970年,在布莱恩·柯林汉的建议下,这个系统命名为“Unix”,与“Multics”名字相对应。在完成Unix系统开发的基本工作之后,汤普逊觉得Unix系统需要一个系统级的编程语言,于是创造了B语言。后来里奇在B语言的基础上创造了C语言。

在60年代,肯·汤普逊还参与了正则表达式的设计,开发了QED(英语:QED (text editor))的兼容分时系统版本,并在其中引入正则表达式支持。QED和后来由汤普逊编写的ed编辑器对正则表达式的流行做出了重要贡献。之后正则表达式普遍用于Unix的文本处理程序中。现在,几乎所有使用正则表达式的程序都用到了某种来自汤普逊的记号的变体。汤普逊还发明了Thompson构造法,该算法能够将正则表达式转化为非确定有限状态自动机以提高匹配效率。

进入70年代,肯·汤普逊和丹尼斯·里奇继续合作开发Unix操作系统。他们二人在Research Unix的开发方面非常有影响力,以至于道格拉斯·麦克罗伊后来写道,“你可以安心地在几乎所有的贡献后面都加上丹尼斯·里奇和肯·汤普逊的名字。”汤普逊在2011年的一次采访中说,Unix的第一个版本是他写的,之后里奇开始提倡这款系统,并且帮助进行开发:

Unix系统的开发也帮助了C语言的发展。肯·汤普逊后来补充道,C语言“随着Unix系统的一次重写而发展,就这样,它成为了系统程序设计的完美选择。”

在1975年,肯·汤普逊从贝尔实验室休假,并回到了他的母校加州大学伯克利分校。在那里,他帮助在PDP-11/70上面安装了Version 6 Unix系统。后来加州大学伯克利分校维护了自己的Unix版本,即伯克利软件套件(BSD)。

肯·汤普逊和贝尔实验室的约瑟夫·康登(英语:Joseph Henry Condon)共同制作了下棋机器Belle(英语:Belle),汤普逊负责软件部分。汤普逊还编写了生成国际象棋残局走法的程序,即残局数据库(英语:Endgame tablebase)。对于所有只剩4到6步的残局,只要程序从数据库中找到了棋谱那么就可以给出“完美”解法。后来他在国际象棋专家约翰·罗伊克罗夫特(英语:John Roycroft)的帮助下发布了程序生成结果。

80年代之后,汤普逊和里奇继续修补Research Unix,在第8到第10版中采用了BSD的代码。在80年代中期,贝尔实验室开始计划用一套新的操作系统来取代Unix,即贝尔实验室九号项目。这个系统是一个利用Unix原理的新系统,计划将更广泛地用于所有主要设备中。汤普逊为计划的设计和实施发挥了重要作用。来自Research Unix的较新版本的一些程序,例如mk和rc(英语:rc)也加入到Plan 9系统中。

汤普逊试验了早期版本的C++语言,但是后来拒绝使用C++,因为在不同版本之间经常发生不兼容的情况。汤普逊在2009年的一次采访中表达了对C++的负面评价,并说“C++做很多事情都是只达到一半的程度,而且它就是一个由各种互相冲突的想法组成的垃圾堆。”

1992年,汤普逊和罗勃·派克设计并实现了UTF-8编码方案,并将其用于Plan 9系统中。现在,UTF-8编码已经成为互联网的主要字符编码,在所有网页中,使用UTF-8编码的网页占了一半以上。1996年,肯·汤普逊继续和丹尼斯·里奇合作,开始从事Inferno操作系统的开发。

2000年下半年,汤普逊离开贝尔实验室,进入美国的Entrisphere公司工作。2006年辞职并加入Google公司。之后他与罗勃·派克和罗伯特·格瑞史莫(Robert Griesemer)二人共同设计了Go语言。在讲述自己的开发过程时,他说他们三人都是从零开始的。出于对C++的厌恶,三个人共同讨论了语言的每一项特性,所以Go语言最终没有任何“无用的垃圾”。

在2009年的一次采访中,汤普逊表示自己正在使用基于Linux的操作系统。

1980年,汤普逊当选美国国家工程院院士,因为“设计了Unix操作系统,它的效率、广度、力量和风格指导了一代在小型计算机进行开发的人。”

1983年,因“发展了通用操作系统的理论,特别是实现了Unix操作系统”,汤普逊和里奇共同获得了图灵奖。他的演讲以《Reflections on Trusting Trust》(反思对信任的信任)为题。文中提到的向编译器植入的后门后来被人们称为“Thompson hack”,对计算机安全领域产生了重要影响。因为在Unix系统和C语言方面做出的贡献,他们二人在1990年共同获得了IEEE汉明奖(英语:IEEE Richard W. Hamming Medal),在1997年获得了计算机历史博物馆研究员奖,又在1999年4月27日获得了由美国总统比尔·克林顿颁发的美国国家技术与创新奖章(英语:National Medal of Technology and Innovation)。

1999年,电气电子工程师学会向汤普逊颁发了第一个金井务奖(英语:Tsutomu Kanai Award)。2011年,汤普逊和里奇二人又共同获得了日本国际奖。

相关

  • 狄奥多里克狄奥多里克大帝(拉丁语:Flavius Theodericus,希腊语:Θευδέριχος,古德语:Dietrich,法语:Thierry;454年-526年8月30日)东哥特人的领袖(471年起),东哥特王国(其疆域大部分位于今日的
  • 诺乙雄龙诺乙雄龙是一种合成代谢类固醇. 在1965年FDA批准药物上市销售商品名Nilevar,在荷尔蒙不足、严重烧伤患者的治疗、严重创伤后、再生障碍性贫血等方面作为雄激素合法使用。现在
  • 太空飞行器航天器又名太空载具、航天器或航天器,是在地球大气层以外的宇宙空间中,基本按照天体力学的规律运动的各种飞行器。航天器与自然天体的不同之处在于其可以受控改变其运行轨道或
  • 空对地导弹空对面导弹 (ASM)也经常被称为空对地导弹 (AGM 和ATGM)是一种从军用飞机上发射来攻击地面和水面目标的导弹,也就是包括了空射反舰导弹。它们最常见的发动机系统是火箭发动机
  • 中华人民共和国女性主义中国的女性主义伴随着近代革命开始于20世纪。在中国女性主义与社会主义和阶级问题有着密切的关系。与西方不同的是,中国女性主义在历史上并没有真正地从生物学方面评论“男性
  • 真蕨真蕨纲(Polypodiopsida),又称为链束植物(Monilophytes)是植物界中真叶植物下的两个演化支之一,是种子植物的姊妹群。真蕨纲比起较原始的石松门多了真正的叶子,但比起较进化的种子植
  • 西国西国(日语:西国〔西國〕/さいごく/せいごく Saigoku/Seigoku */?)是一个日本地理文化概念、与东国相对,指日本西部的一个地区。西国具体指代的地区范围随时代的不同而有所变化
  • 确山县确山县,在中华人民共和国河南省南部,是驻马店市下辖的一个县。确山县地处淮河北岸,西依桐柏、伏牛两山余脉,东眺黄淮平原,历史上被誉为“中原之腹地,豫鄂之咽喉”。汉置朗陵县,北魏
  • 金融工程学金融工程学侧重于衍生金融产品的定价和实际运用,它最关心的是如何利用创新金融工具,来更有效地分配和再分配个体所面临的形形色色的经济风险,以优化它们的风险-收益特征。较为
  • 红色法西斯主义红色法西斯主义是指某些共产主义政权与法西斯主义存在相似之处的看法。红色法西斯主义通常被用作描述斯大林主义的贬义词。然而斯大林主义与法西斯主义政府在意识形态上的相