任何一个行业中,必定会有这么一到两个让你想想就很兴奋的大师级人物,ta们远远地走在前面,背影缥缈而伟岸,让懵懵懂懂的后来者不乏追随的勇气和梦想
前言:在这里,以一个程序员视角,窥探计算机发展浩荡60年
该系列这几十个人,是计算机领域最高荣誉 "图灵奖" 获得者,ta们的研究领域,在今天仍左右着我们在信息时代的生活和工作。
ta们当中有多位"XX之父",XX可以是网状或关系型数据库,可以是浮点数,可以是RISC架构,可以是计算机图形学,可以是虚拟现实,也可以是面向对象,可以是互联网,可以是贝叶斯网络,可以是深度学习 ...
当然更多和更为程序员津津乐道的,是"某某语言之父"。其中ALGOL与差不多同时期的FORTRAN、LISP及COBOL并列为当时四大最有影响力的高阶语言 。它们大多已式微,但其设计思想在今天依然能隐隐看到。(除COBOL 另外三种语言核心作者基本都是图灵奖得主)。
另外,APL语言,Pascal语言,C语言,Smalltalk语言,也助力其核心作者荣膺桂冠。而Go语言,其三位作者之一,图灵奖得主Ken,则是获奖多年后操刀再战。
XX还可以是人工智能----这个概念的提出远比我们想象得要早得多----1956年夏天 数十名来自数学、心理学、神经学、计算机科学与电气工程等各种领域的学者聚集在位于新罕布什尔州汉诺威市的达特茅斯学院,讨论如何用计算机模拟人的智能,并根据麦卡锡的建议,正式把这一学科领域命名为“人工智能”。因此,西蒙、纽厄尔以及达特茅斯会议的发起人麦卡锡和明斯基被公认为是人工智能的奠基人,被称为“人工智能之父”。 当然,人工智能开始进入公众视野,是近半个世纪之后的事了。 和12年前同样在该州举行的确定布雷顿森林体系的会议比,这场标志"人工智能"概念诞生的会议,其历史坐标要更多年后才能最终确定。
其中,西蒙是20世纪一位奇特通才,学识渊博,研究涉猎广泛。1972年参与中美建交,花甲之年学习汉语,并取汉名“司马贺”。1975年和其学生Allen Newell一同获得图灵奖。又在三年后荣获诺贝尔经济学奖...
师生一同获奖的例子不止限于此,获图灵奖的师生,还有这样几对:
其中约翰·麦卡锡也是举世公认的四位人工智能之父之一,同时还是Lisp之父。他的学生芭芭拉·丽兹科(Barbara Liskov),Liskov即 SOLID法则中的里氏替换。同时也是第二位获得图灵奖的女性。
第一位获奖的女性,是早Liskov两年的 Frances Allen,其最早想当一名教师,从纽约州立师范学院毕业,获得数学学士学位,在当地学校教学两年后,进入密歇根大学,并获得数学硕士学位,“为还读书时贷款,我跟他们(IBM)签约了。” 原本计划只待到债务还清,然而之后,万万没想到其整个职业生涯都在 IBM 度过。
另外不能不提功成名就依然壮心不已的高德纳,他开创了算法复杂度分析,同时还是经典的字符串搜索 KMP算法的重要提出者。
排序和搜索是最基础的两个算法,获奖者中还有快速排序作者,堆排序作者(二者都曾被Go语言使用,sort.Sort);有字符串检索rabin-karp算法的作者(同样被Go采用,strings.Index)
另外快速排序的作者Tony Hoare,还是CSP理论的提出者,这是Go语言并发模型的理论基础。
除去以上能在Go中探寻到的和得主的关联,当让少不了影响计算机多个领域的Dijkstra 。(请简述一下三色标记法中 插入写屏障的作用)。另外深度优先算法,出自1986年获奖的那对师生。不过Go在垃圾回收的标记阶段,采用的是广度优先算法。
还要提一下华人得主姚期智,他在世纪之初获奖,生于上海,长于中国台湾,台大物理学学士,哈佛物理学博士,师从后来获诺贝尔奖的Glashow。后放弃物理研究计算机。17年放弃美国国籍,成为中国公民。
最后提一下三位公认的"互联网之父"----提出TCP/IP协议的”文特·瑟夫”,”罗伯特·卡恩”,提出HTTP协议的蒂姆·伯纳斯-李。他们都没有申请专利,没有将TCP/IP或HTTP视为私产,否则或许能成为这世界最富有的一群人。
其中 文特·瑟夫 出生时早产,有听觉障碍,成年后找的伴侣也小时听觉完全失聪。其实这是标准的残障人士,在大多数情境下生活能达到普通人水准都殊为不易,却做出了世界级的贡献...
相关内容最早写于2020年,经过几年完善,终有此篇。望有裨益。
1966年图灵奖得主
贡献领域: 高级程序设计和编译器构造
艾伦·佩利,1922年4月1日生于美国宾州匹兹堡,
1990年2月7日去世,终年68岁.
首届图灵奖得主,在Algol 58 和Algol 60 的形成和修改过程中起到核心和关键作用
ALGOL,名称源自算法语言(ALGOrithmic Language)的缩写,指令式编程语言,发展于1950年代中期,对许多其它编程语言产生重大影响。
ALGOL与差不多同时期的FORTRAN、LISP及COBOL并列为四大最有影响力的高阶语言
1960年1月, 艾伦·佩利在巴黎举行的有全世界一流软件专家参加的讨论会上,发表了"算法语言Algol 60报告",确定了程序设计语言Algol 60。
Algol60语言的第一个编译器由艾兹赫尔·戴克斯特拉[1]来实现
巴科斯范式(Backus Normal Form,BNF),又称巴科斯-诺尔范式
(Backus-Naur Form, BNF,也译为巴科斯-瑙尔范式、巴克斯-诺尔范式),是一种用于表示上下文无关文法的语言,上下文无关文法描述了一类形式语言。它是由约翰·巴科斯(John Backus)[2]和彼得·诺尔(Peter Naur)[3]首先引入的用来描述计算机语言语法的符号集。
约翰·巴科斯首次在ALGOL 58中实现巴科斯范式。彼得·诺尔在ALGOL 60之中,进一步发展它的概念并将它的符号加以简化,称其为巴科斯范式(Backus Normal Form)。但高德纳[4]主张应称为巴科斯-诺尔范式(Backus–Naur Form),因为它不算是一种正规形式(Normal form)
一种典型的元语言
1967年图灵奖得主
贡献领域: 第一个实际存储程序的电子计算机
莫里斯·威尔克斯,1913年6月26日生于英国斯塔福德郡
2010年11月29日去世,终年97岁.
就读于剑桥大学圣约翰学院,之后进入卡文迪许实验室,并于1936年完成其物理学博士学位。
EDSAC(Electronic Delay Storage Auto-matic Calculator),延迟存储电子自动计算器,世界上第一台实际运行的存储程序式电子计算。 受EDVAC启发(Electronic Discrete Variable Automatic Computer,离散变量自动电子计算机,是一台美国早期电子计算机。与它的前任ENIAC不同,EDVAC采用二进制,且是一台冯·诺伊曼结构的计算机
First Draft of a Report on the EDVAC by EngrToday[5]
ENIAC,电子数值积分计算机(Electronic Numerical Integrator And Computer),简称为埃尼阿克,是世界上第一台通用计算机。它是图灵完全的电子计算机,能够重新编程,解决各种计算问题
和历史上的 牛顿,戴维,约瑟夫·汤姆森,威廉·汤姆森(开尔文勋爵),弗莱明, 及后来的 蒂姆·伯纳斯-李一样,获封爵士
汉明码(利用汉明矩阵),汉明窗,汉明数,球面堆积(或汉明界)和汉明距离..
1968年图灵奖得主
贡献领域: 数值方法,自动编码系统,错误检测和纠错码
理查德·汉明,1915年2月11日生于 伊利诺伊州芝加哥市, 1998年1月7日逝世于加州蒙特雷
美国数学家,博士论文为《一些线性微分方程边界值理论上的问题》。主要贡献在计算机科学
美国电脑协会(ACM)的创立人之一,曾任该组织的主席
参见 海明校验码[6]
IEEE 理查德·卫斯里·汉明奖章
(IEEE Richard W. Hamming Medal)每年颁发,最多颁给三个人,以表彰在资讯科学、资讯系统和资讯技术方面取得的杰出成就。 获奖者可获得一面金牌奖章、铜制复制品、获奖证书和一笔奖金。
该奖项由电机电子工程师学会(IEEE)于1986年设立,并由高通公司赞助。以 理查·卫斯里·汉明的名字来命名以纪念他在计算机科学和电信产生的深远影响。 他的贡献包括发明汉明码和纠错码等, 也是该奖首位得主(1988年)
汉明问题[7]
Erasure-Code: 工作原理, 数学解释, 实践和分析[8]
在Linux,Go等项目中,多处可见其名
"人工智能之父"
1969年图灵奖得主
贡献领域: 人工智能
计算机逻辑奠基者艾伦·麦席森·图灵、提出“人工智能”概念的约翰·麦卡锡、首个创建Snare的马文·明斯、将科技与教育融合的西摩尔·帕普特四人常常被称为人工智能之父
马文·明斯基(1927年8月9日-2016年1月24日),生于美国纽约犹太人家庭
与西摩尔·派普特
共同发展了第一个以Logo语言建构的机器人,命名为海龟(Turtle)
1951年,设计并建构了第一部能自我学习的人工神经网络机器,SNARC
1952年,发明会自行关闭电源的无用机器(Useless Machine)
1956年,与约翰·麦卡锡组织了达特茅斯会议,在这场会议中,人工智能的概念被提出,在之后形成了一个新的学门。
在麻省理工学院,与约翰·麦卡锡共同创立了人工智能研究室(MIT计算机科学与人工智能实验室的前身)
奠定了人工神经网络的研究基础
“for his research in numerical analysis to facilitate the use of the high-speed digital computer, having received special recognition for his work in computations in linear algebra and 'backward' error analysis.”
1969年图灵奖得主
贡献领域: 数值分析,线性代数,倒退错误分析
詹姆斯·威尔金森(1919—1986),英国皇家学会会员、著名数值分析专家,在建造由图灵设计的ACE计算机中扮演了举足轻重甚至最关键的角色
大学就读于剑桥大学三一学院,二战爆发后,开始研究弹道学。
1946年进入英国最著名的学术机构之一---
英国国家物理实验室(NPL)数学部.
一开始协助图灵设计计算机 Pilot ACE。图灵离开NPL后,其接手整个项目,并使Pilot ACE于1950年5月10日,第一次正式试运行成功。
当时ACE成功演示了三个程序:由参观者任意给出一个6位数,机器判定它是否是素数,如果不是素数,给出其一个因子;由参观者任意说出0—9999年中的任意一个日期,由机器给出这天是星期几;由机器跟踪光线通过一组棱镜后的偏振光
为NPL服务长达34年,直至1980年退休
组织开发过一个用以测试系统浮点运算能力的基准程序(Benchmark),叫Whetstone
1991年设立了以他命名的威尔金森奖,用于表彰优秀的数值分析软件作者
"人工智能之父"
1971年图灵奖得主
贡献领域: Lisp语言, 人工智能
约翰·麦卡锡,1927年9月4日生于美国波士顿,
2011年10月24日去世,终年84岁.
人工智能先驱人物篇之约翰·麦卡锡[9]
"计算机领域的欧拉"(公众号作者妄自评注)
1972年图灵奖得主
贡献领域: Dijkstra算法[10],银行家算法,信号量,PV原语[11]
中文一般译作"迪杰斯特拉",1930年出生于鹿特丹,大学就读于莱顿大学,研究理论物理学. 但他很快就发现自己的兴趣是计算机科学.
2002年在荷兰家中逝世,终年72岁.
"网状数据库之父",数据库领域第一位图灵奖得主
1973年图灵奖得主
贡献领域: 数据库技术
中文一般译作"查尔斯·巴赫曼"(1924年11月11日-2017年7月13日)
1924年生于堪萨斯州曼哈顿
二战爆发后,加入美国陆军防空高炮师;1944年3月至1946年2月,在西南太平洋战场,到过新几内亚,澳大利亚和菲律宾群岛等地。
之后,离开军队,进入密歇根州立大学和宾夕法尼亚大学学习
第一个没有博士学位的图灵奖获得者,第一个工程学背景而不是科学背景的图灵奖得主,第一个因某个特定的软件而得图灵奖的得主,第一个在职业生涯完全在企业度过,而未在大学担任教职的图灵奖获得者。
职业生涯主要经历陶氏化工,通用电气,Honeywell,而后创办了自己的公司---
巴赫曼信息系统公司。
主要成就有两项:
在通用电气时,开发出了最早的网状数据库管理系统---
IDS。其设计思想和实现技术,被后来很多数据库产品所效仿。(第二位数据库领域的图灵奖得主,关系型数据库之父,英国人 Edgar Codd,则是在IBM工作期间,首创了关系模型理论;有意思的是也参加过二战,在英国空军服役,当过3年机长,参加过多次空战..也是战争结束后,继续学业)
另外其积极推动与促进数据库标准的制定,包括DBTC和DDL,DML
DBA概念即其首次提出
缅怀数据库之父——查尔斯·巴赫曼[12]
中国未来需要什么样的数据库? | CNCC 2019[13]
整理 | 数据库领域的杰出人物[14]
"程序设计引路人"
1974年图灵奖得主
贡献领域: 算法分析、程序设计语言的设计、程序设计
36岁获奖, 至今仍保持着图灵奖最年轻获奖者的纪录.
KMP算法中的"K"
是Knuth独特的审美感决定了他兴趣广泛、富有多方面造诣的特点。Knuth传奇般的生产力也是源于这一点。 对于Knuth来说,衡量一个计算机程序是否完整的标准不只在于它是否可以执行,他觉得一个计算机程序应该是雅致的、甚至可以说是美的。计算机程序设计应该是一门艺术,一个算法应该像一段音乐,而一个好的程序应该如一部文学作品一般。
尝试使用过LaTeX,且写过一篇博客[15],但在初次使用时还不知道TeX竟是 Donald 牛刀小作。
TeX的版本号不是惯常所见的1.0,1.1…,2.0,而是用圆周率π,每个版本向下一位。现在版本号为3.1415926。
大师还有一项“创举”,每发现一个bug,就“奖励”2.56美元,第二个5.12美元,第三个10.24美元,以此类推——考虑到“象棋发明”的那个讲述指数爆炸型增长的故事,这无疑需要强大的勇气与自信。
但事实是,他并没有为此付出太多美刀。一是错误极少趋于完美;二则如同当下将持有伯克希尔哈撒韦公司股票作为财富象征,许多自认为更“高级”的人,将持有高德纳签名的支票视若珍宝,作为智力超群的佐证。
时有说法:什么是聪明?找出Knuth的错误;什么是愚蠢?去兑换那张两块五毛六的支票。
甚至设立了高德纳奖,首届得主是姚期智
(在计算机领域,名字可以作为奖项名称的,还有图灵奖/冯诺依曼奖/汉明奖)
参考:
计算机大师-Donald Knuth(高德纳) 的传奇[16]
关于其著作,<计算机程序设计艺术>,参见: 那些有简称的计算机书籍[17]
“人工智能之父”(举世公认的人工智能之父有四位,前两位之前已经获奖)
1975年图灵奖得主
贡献领域: 人工智能,人类认知心理学和列表处理(list processing)
中文一般译作"艾伦·纽厄尔"(1927年3月19日-1992年7月19日)。 1927年3月19日生于旧金山,其父是斯坦福医学院放射学教授,精通物理和古典文学,会约鱼/淘金/做木工,甚至在山上亲手盖了一座小木屋。其对父亲十分崇拜,称是“一个十全十美的知识分子”。
二战期间在海军服预备役两年。战后进入斯坦福大学学习物理,1949年获得学士学位。之后在普林斯顿大学研究生院攻读数学,一年以后辍学到RAND公司工作
和CMU的西蒙建立合作关系,提出“中间结分析法”作为求解人工智能问题的一种技术。利用这种技术,二人成功开发最早的启发式程序“逻辑理论家”和“通用问题求解器”。在开发逻辑理论家的过程中,首次提出并成功应用了单链表作为基本的数据结构,并设计与实现了 信息处理语言IPL(Information Processing Language)。IPL是所有表处理语言的始祖,也是最早使用递归子程序的语言。
合作过程中其所表现出的才能与创新精神深得西蒙赞赏,在西蒙竭力推荐下,得以在CMU注册为研究生,并在西蒙指导下完成博士论文,于1957年获得博士学位。
中文一般译作"赫伯特·西蒙"(1916年6月15日-2001年2月9日)。1916年6月15日生于威斯康辛州米尔沃尔一户富裕的犹太家庭,其父在1903年从德国移居美国。
1933年 进入芝加哥大学政治系学习; 1949年 在CMU的经济管理研究生院任教,其一生中最辉煌成就多是在这里做出。
1956年夏天 数十名来自数学、心理学、神经学、计算机科学与电气工程等各种领域的学者聚集在位于新罕布什尔州汉诺威市的达特茅斯学院,讨论如何用计算机模拟人的智能,并根据麦卡锡的建议,正式把这一学科领域命名为“人工智能”。因此,西蒙、纽厄尔以及达特茅斯会议的发起人麦卡锡和明斯基被公认为是人工智能的奠基人,被称为“人工智能之父”
当时的部分与会人员:
是20世纪一位奇特通才,学识渊博、兴趣广泛,研究涉及经济学、政治学、管理学、社会学、心理学、运筹学、计算机科学、认知科学、人工智能等广大领域,并做出了创造性贡献.
具有传奇般的经历。会画画,会弹钢琴,既爱爬山、旅行,又爱学习各种外国语,能流利地说多种外语。作为科学家,涉足的领域之多,成果之丰,影响之深远,令人叹为观止。
1972年他参与中美建交,花甲之年开始学习汉语,并取汉名“司马贺”。痴迷于汉语与书法
20世纪70年代中期,研究住宅的自动空间综合取得巨大的进展,成为了智能建筑之父。与此同时开发智能版CAD即ICAD,成为ICAD奠基人
直到2018年,都是计算机领域论文被引用次数最高的计算机科学家
(更多可参考2018全球Top 1000 计算机科学家h指数发布,中国29名学者上榜![18])
获得过9个博士头衔:1943年的加利福尼亚大学哲学博士学位、1963年凯斯工学院科学博士学位、1963年耶鲁大学科学博士学位、1963年法学博士学位、1968年瑞典伦德大学哲学博士学位、1970年麦吉尔大学法学博士、1973年鹿特丹伊拉斯莫斯大学经济学博士、 1978年米之根大学法学博士、1979年匹茨堡大学法学博士。
此外还是1978年诺贝尔经济学奖得主,也是唯一一位诺贝尔奖/图灵奖双料得主。。瑞典皇家科学院总结性地指出:“就经济学最广泛的意义上来说,西蒙首先是一名经济学家,他的名字主要是与经济组织中的结构和决策这一相当新的经济研究领域联系在一起的。” The Sveriges Riksbank Prize in Economic Sciences in Memory of Alfred Nobel 1978[19]
和艾伦·纽厄尔(Allen Newell)曾是师生,后成为极其亲密的合作者,共事长达42年,直至纽厄尔于1992年去世。1975年二人同时获奖,是图灵奖历史上首次同时授予两位学者。
拒绝边界,永远好奇
其自画像:
“我诚然是一个科学家,但是是许多学科的科学家。我曾经在许多科学迷宫中探索,这些迷宫并未连成一体。我的抱负未能扩大到如此程度,使我的一生有连贯性。我扮演了许多不同角色,角色之间有时难免互相借用。但我对我所扮演的每一种角色都是尽了力的,从而是有信誉的,这也就足够了”。---1991年出版的自传《我的生活的模型》
62年前,“人工智能”这个词诞生于小镇上的一所大学,科学大咖谈论一个不食人间烟火的主题,AI元年由此开启…
同拿诺贝尔经济学奖和计算机图灵奖的司马贺之彪悍人生[20]
1976年图灵奖得主
贡献领域: 非确定性自动机, 拉宾-卡普算法
中文一般译作"迈克尔·拉宾",1931年出生于德国布雷斯劳(二战后成为波兰弗罗茨瓦夫). 以色列计算机科学家,犹太人.
1956年获普林斯顿大学博士学位. 1959年,拉宾和达纳·斯科特共同发表了“有限自动机与其判定性问题”(Finite Automata and Their Decision Problems)的论文,提出非确定自动机的观点.他们也因此获得了1976年的图灵奖,并做“计算机复杂性”(Complexity of Computations)的演讲
---
拉宾密码系统,它的安全性被证明和整数因式分解的复杂度相同.——
拉宾-卡普算法1976年获奖后,依然成果不断...
1976年图灵奖得主
贡献领域: 非确定性自动机
中文一般译作"达纳·斯科特",1932年出生于美国加利福尼亚州.
图灵奖的引文是:“因他们的合著论文“有限自动机与其判定性问题”。论文中引入了非确定自动机的概念,被证明是(计算理论科学研究中的)一个非常重要的概念。拉宾和斯科特的这篇经典论文成为了这个领域后续研究的源泉
1977年图灵奖得主
贡献领域: 高级编程系统,程序设计语言规范的形式化定义
FORTRAN 巴科斯范式 函数级编程
中文一般译作"约翰·巴科斯",1924年12月3日出生于美国宾州费城,青少年时期平时不爱读书,勉强毕业,没什么过人之处。
后对数学产生极大兴趣,进入IBM工作。
获图灵奖时发表“程序设计能从冯诺伊曼形式中解脱出来吗?函数式风格及其程序的代数”(Can Programming be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs)演说,提出了叫做FP的函数级编程语言(这篇演说有时被看作是他为发明了Fortran而致歉)
2007年3月17日在美国俄勒冈州的家中去世,享年82岁
Fortran,音译为"福传",源自于“公式翻译”(Formula Translation)的缩写,是一种编程语言。1957年由IBM开发出,是世界上第一个被正式采用并流传至今的高级编程语言。
是为满足数值计算的需求而发展出,1953年12月,IBM工程师约翰·巴科斯(J. Backus)因深深体会编写程序很困难,而写了一份备忘录给董事长斯伯特·赫德(Cuthbert Hurd),建议为IBM704系统设计全新的电脑语言以提升开发效率。当时IBM公司的顾问冯·诺伊曼强烈反对,因为他认为不切实际而且根本不必要。但赫德批准了这项计划。
西屋电气公司成为FORTRAN的第一个商业用户
【冷知识】基于ABNF重新学习HTTP报文格式[21]
BNF rules of JAVA[22]
The syntax is specified using Extended Backus-Naur Form (EBNF):[23]
1978年图灵奖得主
贡献领域: Floyd算法[24], 堆结构及堆排序[25]
弗洛伊德(1936年6月8日-2001年9月25日),美国计算机科学家, 出生于美国纽约,14岁即完成高中学业. 1953年从芝加哥大学获得文学学士学位,年仅17岁,并于1958年在物理学获得了第二个学士学位
与高德纳工作很密切,是其著作《计算机程序设计艺术》的主要评审,并在书中被多次提及.
最初文学专业毕业,找不到合适工作,在西屋电气做基础到几乎对候选人没什么要求的“计算机操作员”工作(类似打字机打字员,并不需要懂得机器怎么运作,在外面负责敲两下就可以),决心搞清背后运作原理。
开发了世界上最早的Algol 60编译器之一。堆排序算法和弗洛伊德算法。发表“如何确定程序的意义(Assigning Meanings to Programs)”的学术论文,在当时的计算机界引起巨大轰动。该论文后来被公认为继麦卡锡1963年提出的“以递归函数作为程序模型的方法”后,最为重大的一项进展。
42岁获图灵奖
证明了整个计算机界对他的认可,证明了这个来自纽约的文科生,因为热爱计算机领域,即使通过自学,也能达成影响世界的伟大成就
从14岁上大学的文科生,到拿图灵奖的计算机教授,写在罗伯特·弗洛伊德85周年诞辰[26]
1979年图灵奖得主
贡献领域: 程序设计语言和数学符号,互动系统的设计,APL语言之父,程序设计语言的理论与实践
中文一般译作"肯尼斯·艾弗森"(1920年12月17日-2004年10月19日)
APL语言之父,后来还设计了J语言
APL[28] 是 A Programming Language 或 Array Processing Language 的缩写。肯尼斯·艾佛森在1962年设计这个语言时他正在哈佛大学工作, 是一种表达能力很强的会话语言。应用范围包括数学统计、事务经营、信息检索、报表生成、财务预算等。也可用于模拟计划管理、图形处理、正文编辑、计算机辅助教学等方面。
APL的特点是,语法规则简单,运算符丰富,表达式简练,并包含多种构造和处理数据的运算符。它在数据加工和矩阵计算上特别有效,不过程序员需具有较高的数学素养
"计算机领域的爵士"
1980年图灵奖得主
贡献领域: 快速排序[29],CSP理论,哲学家就餐问题
1934年出生于英属锡兰(今斯里兰卡),1959年博士毕业于俄罗斯莫斯科国立大学
1960年,霍尔进入艾略特兄弟(Elliott Brothers Ltd) 伦敦公司,成为一名程序员。他接到的第一个任务,就是为Elliott 803计算机编写一个库程序,实现新发明出来的
Shell排序
算法。在此过程中,霍尔对不断提升代码的效率着了迷。他不仅很好地完成了任务,还发明了一种新算法,比Shell还快,而且不会多耗费太多空间。这就是后来闻名于世的快速排序算法Quicksort。值得一提的是,发明该算法时他只有26岁。 随后,霍尔又接到了新任务——在公司新机型Elliott 503上实现Algol 60语言。Elliott Algol的开发非常顺利,大获成功,霍尔本人也从此受到国际学术界的重视。当然,对他来说,另一件事情更为重要,他和项目中另一位当时比自己更专业的女程序员Jill Pym相识相知,并最后结婚。1971年,Dijkstra提出了一个同步问题,即假设有五台计算机都试图访问五份共享的磁带驱动器。稍后,这个问题被Tony Hoare重新表述为哲学家就餐问题。这个问题可以用来解释死锁和资源耗尽。
希尔排序于1959年被D.L.Shell提出,第二年Tony Hoare就提出了更优的快速排序..
排序算法汇总[30]
快速排序[31]
读「Go语言并发之道」[32]
过早优化的谬误[33]
改变世界的十位算法大师[34]
"关系型数据库之父"
1981年图灵奖得主
贡献领域: 数据库系统
埃德加·弗兰克·科德,(1923年8月23-2003年4月18)
生于英格兰多塞特郡波特兰,牛津埃克塞特学院学习数学与化学, 而后作为英国皇家空军飞行员参加二次世界大战
1948年,来到纽约加入IBM,成为一名数学程序员。之后到密歇根大学取得计算机科学博士学位
在IBM工作期间,首创了关系模型理论。为关系型数据库理论做出了奠基性的贡献。
科德十二定律(Codd's 12 rules)
使数据库管理系统关系化需满足的十三条(从0至12)准则,又称为“黄金十二定律”
sql
1972年,IBM以科德所在的加州圣何塞研究院为中心,想要开发一套关系数据库的原型产品。
加入该项目的有两个年轻的博士生,张伯伦和博伊斯。他们决定把科德关系模型中的数学部分隐藏起来,将关系称为表,把复杂的数学符号替换成简单的英语单词 SELECT FROM WHERE。本来想把这门语言叫做 SEQUEL(Structured English Query Language,结构化英语查询语言)。由于SEQUEL已是一家英国公司商标,二人将其改名为更简单,更容易记忆的SQL。
不多久后博伊斯因脑瘤去世,年仅27岁。
27岁发明SQL以后,上帝把他带走了 [35]
BCNF范式
博伊斯还和科德合作,建立了一个数据库中必讲的概念:BCNF范式
数据库第一二三范式到底在说什么?[36]
数据库设计三大范式[37]
Codd发表在「ACM通讯」上的关系型数据理论的学术论文启发了Larry Ellison,他1979年创建Relational Software Inc
(简称RSI,1983年更名为Oracle Corporation)
SQL数据库软件的历史沿革:
1992年IT近代史 | 改变世界的25人(四)—— 数据库软件之父
1993 年,70岁的Codd 认为 OLTP(联机事务处理)不足以满足用户的需要,提出了多维数据库和多维分析的概念,即OLAP(联机分析处理)
1982年图灵奖得主
贡献领域: 计算复杂度理论,NP完全性理论
斯蒂芬·亚瑟·库克,1939年12月14日生于纽约州布法罗,1961年从University of Michigan获得学士学位,1962年和1966年从哈佛大学获硕士与博士学位。
1966-1970年,在加州伯克利担任助理教授。
1970年,加盟多伦多大学并工作直到现在。
NP完全性理论的奠基人,1971年发表Cook定理,奠定了NP完全理论的基础而获1982年图灵奖。
但其论文只证明了命题演算的可满足行问题是NP完全的,没有继续深入证明下去。
但在此启发下,卡普在第二年就证明了21个有关组合优化的NP完全问题,从而加强发展了NP完全性理论。
Cook是对计算复杂性理论有突出贡献的计算机科学家之一(1971年 Cook 和 Leonid Levin 相对独立的提出了P/NP问题)
计算复杂度理论和编译理论,是诞生图灵奖得主最多的两个领域
Stephen A. Cook--多伦多大学个人页[38]
1983年图灵奖得主
贡献领域: UNIX操作系统和C语言
Write in C[39]
WRITE IN C ('LET IT BE')
When I find my code in tons of trouble,
Friends and colleagues come to me,
Speaking words of wisdom:
"Write in C."
As the deadline fast approaches,
And bugs are all that I can see,
Somewhere, someone whispers:
"Write in C."
Write in C, Write in C,
Write in C, oh, Write in C.
LOGO's dead and buried,
Write in C.
I used to write a lot of FORTRAN,
For science it worked flawlessly.
Try using it for graphics!
Write in C.
If you've just spent nearly 30 hours,
Debugging some assembly,
Soon you will be glad to
Write in C.
Write in C, Write in C,
Write in C, yeah, Write in C.
BASIC's not the answer.
Write in C.
Write in C, Write in C
Write in C, oh, Write in C.
Pascal won't quite cut it.
Write in C.
"Pascal语言之父"
1984年图灵奖得主
贡献领域: 程序设计语言设计、程序设计
中文一般译作"尼克劳斯·维尔特",1934年出生于瑞士
好几种编程语言的主设计师:
尼克劳斯·维尔特 的姓名曾以不准确的英文读法,被译为“尼古拉斯·沃斯”。欧洲人通常都将他的名字读得正确,读作“Nih-klaus Virt”;但美国人通常读成“Nickel's Worth”近似的音。于是有人便开玩笑说,欧洲人用传址调用(Call by Address)叫他,美国人用传值调用(Call by Value)叫他(“传值调用”英文双关“按照价值称呼”,而“Nickel's Worth”中文意为“价值一分钱”)
"软件变慢的速度永远快过硬件变快的速度"
1985年图灵奖得主
贡献领域: 算法理论(尤其是NP-完全性理论[41]), 拉宾-卡普算法
中文一般译作"理查德·卡普",1935年出生于波士顿
1955年先获得哈佛大学文学学士学位,第二年又获得理科硕士学位.之后进入哈佛大学的计算机实验室攻读博士.毕业后进入IBM.
主要研究领域:路径问题、背包问题、覆盖问题、匹配问题、分区问题、调度问题,并取得了许多成果.
这些问题有一个共同的特点:即如果图上增加一个节点,计算机就会爆炸.
在解决“旅行推销商”问题时,提出 分支限界法, 是一种构造性的探索法,可在整个允许的解空间中进行最优搜索.(该方法的要点是:对解集合反复进行分支,每次分支时,都对所得的子集计算最优解的界. 如果对某个子集求得的界不优于已知的允许解,则抛弃此子集不再进行分支;否则继续分支以探索更好的解,直到所得到的子集仅含有一个解为止)
卡普的二十一个NP-完全问题[42]
1986年图灵奖得主
贡献领域: 算法和数据结构的设计与分析,如 深度优先搜索算法
中文一般译作"约翰·霍普克罗夫特","罗伯特·塔扬"。二人发明用于遍历或搜索树或图的深度优先搜索算法[45](Depth-First-Search,DFS)。
Hopcroft-Tarjan平面嵌入算法是第一个线性时间平面算法
约翰·霍普克罗夫特,1939年10月7日生于西雅图,1961年在西雅图大学获电子工程学士学位,1962、1964年在斯坦福大学分别获电子工程硕士和博士学位。
目前在国内多所高校任顾问等
同时也与2020年图灵奖得主[Alfred Aho]( "Alfred Aho")及[Jeffrey David Ullman]( "Jeffrey David Ullman")合著大量计算机科学领域的参考书,包括算法、数据结构以及计算机科学基础
霍普克罗夫特“教”出了两位图灵奖得主:1986年与他同获图灵奖的罗伯特·塔扬,是其在斯坦福大学学术休假期间指导的博士生;2020年图灵奖得主、“龙书”(编译原理课程的经典教材)作者之一阿尔弗雷德·阿霍则是他在普林斯顿大学任教期间指导的第一位博士生。
获图灵奖的师生,还有这样几对:
更多参见
罗伯特·塔扬,1948年4月30日生于加州波莫纳。
Tarjan也开创了重要的数据结构如:斐波纳契堆和splay树(splay发明者还有Daniel Sleator)
Splay Tree即伸展树, 是一种能够自我平衡的二叉查找树,由丹尼尔·斯立特(Daniel Sleator)和罗伯特·塔扬在1985年发明
某项算法的提出者,某个数据结构的创造者
另外他是第一个证明了计算反阿克曼函数的乐观时间复杂度的科学家
图灵奖得主约翰•霍普克罗夫特:中国高校过于看重国际声望,应更关注本科教学质量[46]
上海交通大学约翰·霍普克罗夫特计算机科学中心[47]
约翰·霍普克罗夫特 | 图灵奖获得者 追逐人生的下半场:人类教育
"RISC架构之父"
1987年图灵奖得主
贡献领域: 编译理论,大型系统的体系结构,精简指令集(RISC)计算机的开发,CYK算法
约翰·科克, 1925年5月30日生于美国北卡罗来纳州夏洛特,
2002年7月16日去世,终年79岁.
IBM-RISC Architecture[48]
A.M. TURING AWARD WINNERS[49]
Transcript[50]
"计算机图形学之父", "虚拟现实之父"
1988年图灵奖得主
贡献领域: 计算机图形学
伊凡·爱德华·苏泽兰(1938年5月16日-),生于生于美国内布拉斯加州。于卡内基技术学院(今卡内基梅隆大学)取得学士学位,于加州理工学院取得硕士。1963年,于麻省理工学院取得计算机工程博士学位。
在博士论文中设计了一个叫Sketchpad的程序,用户可以利用当时刚被发明出来的光电笔在屏幕上实时绘图。Sketchpad在许多方面都具有开创性的地位,被认为是现代计算机辅助设计(CAD)和图形用户界面(GUI)的鼻祖,为了管理图形提出了面向对象编程的概念
图片来自 中国的高校计算机教育存在哪些问题?[51]
1965年在一篇名为<终极的显示>的论文中首次提出虚拟现实系统的基本思想.1968年发明了第一款VR头盔——“达摩克利斯之剑”,被称为 虚拟现实之父
(后来Jaron Lanier的VPL Research公司是第一家将VR设备推向民用市场的公司,因此也被称为”虚拟现实之父“)
参考:
改变世界的先驱,是他在50年前真正定义了计算机图形学和人机共生关系
"浮点数之父"
1989年图灵奖得主
贡献领域: 浮点数表示
威廉·墨顿·卡韩(1933年6月5日-),生于加拿大安大略多伦多,数学与计算机科学家,专长于数值分析。1989年图灵奖得主,1994年被提名为ACM院士。现为加州大学伯克利分校 计算机科学名誉教授。卡韩是IEEE 754-1985[52]浮点数运算架构规格书的主要架构师,IEEE 754 系列的标准主要依据他的研究而制定,因此被称为浮点数之父
参考:
Go源码分析之浮点型处理[53]
William Kahan[54]
1990年图灵奖得主
贡献领域: 分时操作系统
中文一般译作"费尔南多·考巴托"
更多参考: 星陨-2019[55]
[1]
艾兹赫尔·戴克斯特拉: https://dashen.tech/2020/05/07/%E5%A4%A9%E7%A5%9E%E8%8D%9F%E8%90%83/#Dijkstra
[2]
约翰·巴科斯(John Backus): https://dashen.tech/2020/05/07/%E5%A4%A9%E7%A5%9E%E8%8D%9F%E8%90%83/#John-Backus
[3]
彼得·诺尔(Peter Naur): https://dashen.tech/2020/05/07/%E5%A4%A9%E7%A5%9E%E8%8D%9F%E8%90%83/#Peter-Naur
[4]
高德纳: https://dashen.tech/2020/05/07/%E5%A4%A9%E7%A5%9E%E8%8D%9F%E8%90%83/#Donald-Knuth
[5]
First Draft of a Report on the EDVAC by EngrToday: https://www.bilibili.com/video/BV1iK411A7ih
[6]
海明校验码: https://dashen.tech/2021/02/15/%E6%B5%B7%E6%98%8E%E6%A0%A1%E9%AA%8C%E7%A0%81/
[7]
汉明问题: https://www.lesswrong.com/posts/P5k3PGzebd5yYrYqd/the-hamming-question
[8]
Erasure-Code: 工作原理, 数学解释, 实践和分析: https://drmingdrmer.github.io/tech/distributed/2017/02/01/ec.html
[9]
人工智能先驱人物篇之约翰·麦卡锡: https://www.jiqizhixin.com/articles/2019-02-11
[10]
Dijkstra算法: https://dashen.tech/2020/11/14/Dijkstra%E7%AE%97%E6%B3%95/
[11]
信号量,PV原语: https://dashen.tech/2018/09/01/PV%E6%93%8D%E4%BD%9C/
[12]
缅怀数据库之父——查尔斯·巴赫曼: https://www.sohu.com/a/195742772_115128
[13]
中国未来需要什么样的数据库? | CNCC 2019: https://www.leiphone.com/category/industrynews/qBIlVxZVE1V00n7J.html
[14]
整理 | 数据库领域的杰出人物: https://leohope.com/%E5%81%9A%E7%AC%94%E8%AE%B0/2017/01/05/Database-people/
[15]
一篇博客: https://dashen.tech/2016/03/21/LaTeX%E4%BD%BF%E7%94%A8%E5%B0%8F%E8%AE%B0/
[16]
计算机大师-Donald Knuth(高德纳) 的传奇: https://www.cnblogs.com/blfbuaa/p/6801446.htm
[17]
那些有简称的计算机书籍: https://www.douban.com/doulist/127036578/
[18]
2018全球Top 1000 计算机科学家h指数发布,中国29名学者上榜!: https://www.sohu.com/a/238048708_473283
[19]
The Sveriges Riksbank Prize in Economic Sciences in Memory of Alfred Nobel 1978: https://www.nobelprize.org/prizes/economic-sciences/1978/simon/biographical/
[20]
同拿诺贝尔经济学奖和计算机图灵奖的司马贺之彪悍人生: https://cj.sina.com.cn/articles/view/6423516243/17edf14530010113o6
[21]
【冷知识】基于ABNF重新学习HTTP报文格式: https://juejin.cn/post/6989059702755704862#heading-1
[22]
BNF rules of JAVA: https://www.google.com/search?q=bnf+java&newwindow=1&sxsrf=AOaemvIx4A3i3iRN8tBKHSIRbjOca1hF3A%3A1633956989601&ei=fTRkYe__I82Q4-EPr5aq8A0&ved=0ahUKEwivssWPtMLzAhVNyDgGHS-LCt4Q4dUDCA4&uact=5&oq=bnf+java&gs_lcp=Cgdnd3Mtd2l6EAMyBAgjECcyBQgAEIAEMgcIABCABBAMMgcIABCABBAMMgcIABCABBAMMgcIABCABBAMMgcIABCABBAMMgcIABCABBAMMgcIABCABBAMMgQIABBDOgcIABCwAxAeOgkIABCwAxAIEB5KBAhBGAFQpO4QWOL3EGCR-hBoAnAAeACAAYoEiAHWD5IBBTQtMi4ymAEAoAEByAEIwAEB&sclient=gws-wiz
[23]
The syntax is specified using Extended Backus-Naur Form (EBNF):: https://golang.org/ref/spec
[24]
Floyd算法: https://zh.wikipedia.org/wiki/Floyd-Warshall%E7%AE%97%E6%B3%95
[25]
堆排序: https://dashen.tech/2018/10/25/%E5%A0%86%E6%8E%92%E5%BA%8F/
[26]
从14岁上大学的文科生,到拿图灵奖的计算机教授,写在罗伯特·弗洛伊德85周年诞辰: https://www.163.com/dy/article/GCIVB7BK0538B1ZX.html
[27]
Kenneth Iverson: https://baike.baidu.com/item/%E8%82%AF%E5%B0%BC%E6%96%AF%C2%B7%E8%89%BE%E4%BD%9B%E6%A3%AE
[28]
APL: https://baike.baidu.com/item/APL%E8%AF%AD%E8%A8%80%E6%A0%87%E5%87%86/22105649?fromtitle=APL&fromid=17767419#viewPageContent
[29]
快速排序: https://dashen.tech/2015/03/22/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F/
[30]
排序算法汇总: https://dashen.tech/2019/03/26/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95%E6%B1%87%E6%80%BB/
[31]
快速排序: https://dashen.tech/2015/03/22/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F/
[32]
读「Go语言并发之道」: https://dashen.tech/2020/03/17/%E8%AF%BB%E3%80%8CGo%E8%AF%AD%E8%A8%80%E5%B9%B6%E5%8F%91%E4%B9%8B%E9%81%93%E3%80%8D/
[33]
过早优化的谬误: https://www.yuque.com/ruanyf/weekly/issue-97
[34]
改变世界的十位算法大师: http://imgtec.eetrend.com/d6-imgtec/blog/2018-08/17035.html
[35]
27岁发明SQL以后,上帝把他带走了 : https://www.sohu.com/a/448543330_468731
[36]
数据库第一二三范式到底在说什么?: https://zhuanlan.zhihu.com/p/20028672
[37]
数据库设计三大范式: https://dashen.tech/2017/06/30/%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E8%AE%A1%E4%B8%89%E5%A4%A7%E8%8C%83%E5%BC%8F/
[38]
Stephen A. Cook--多伦多大学个人页: http://www.cs.toronto.edu/~sacook/
[39]
Write in C: https://www.electro-tech-online.com/threads/write-in-c-let-it-be.156653/#post-1353006
[40]
东尼·霍尔: https://dashen.tech/2020/05/07/%E5%A4%A9%E7%A5%9E%E8%8D%9F%E8%90%83/#Tony-Hoare
[41]
NP-完全性理论: https://zh.wikipedia.org/wiki/NP%E5%AE%8C%E5%85%A8
[42]
卡普的二十一个NP-完全问题: https://zh.wikipedia.org/wiki/%E5%8D%A1%E6%99%AE%E7%9A%84%E4%BA%8C%E5%8D%81%E4%B8%80%E5%80%8BNP-%E5%AE%8C%E5%85%A8%E5%95%8F%E9%A1%8C
[43]
John Edward Hopcroft: https://zh.wikipedia.org/wiki/%E7%B4%84%E7%BF%B0%C2%B7%E9%9C%8D%E6%99%AE%E5%85%8B%E6%B4%9B%E5%A4%AB%E7%89%B9
[44]
Robert Endre Tarjan: https://zh.wikipedia.org/wiki/%E7%BE%85%E4%BC%AF%E7%89%B9%C2%B7%E5%A1%94%E6%8F%9A
[45]
深度优先搜索算法: https://zh.wikipedia.org/wiki/%E6%B7%B1%E5%BA%A6%E4%BC%98%E5%85%88%E6%90%9C%E7%B4%A2
[46]
图灵奖得主约翰•霍普克罗夫特:中国高校过于看重国际声望,应更关注本科教学质量: https://www.bilibili.com/video/BV1GF411a7yB
[47]
上海交通大学约翰·霍普克罗夫特计算机科学中心: https://jhc.sjtu.edu.cn/
[48]
IBM-RISC Architecture: https://www.ibm.com/ibm/history/ibm100/us/en/icons/risc/
[49]
A.M. TURING AWARD WINNERS: https://amturing.acm.org/photo/cocke_2083115.cfm
[50]
Transcript: http://www.iment.com/maida/tv/computer/johncocketranscript.htm
[51]
中国的高校计算机教育存在哪些问题?: https://www.zhihu.com/question/265513614/answer/310127634
[52]
IEEE 754-1985: https://baike.baidu.com/item/IEEE%20754/3869922
[53]
Go源码分析之浮点型处理: https://dashen.tech/2020/12/02/Go%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90%E4%B9%8B%E6%B5%AE%E7%82%B9%E5%9E%8B%E5%A4%84%E7%90%86/
[54]
William Kahan: https://people.eecs.berkeley.edu/~wkahan/
[55]
星陨-2019: https://dashen.tech/2019/03/07/%E6%98%9F%E9%99%A8-2019/#%E8%B4%B9%E5%B0%94%E5%8D%97%E5%A4%9A%C2%B7%E8%80%83%E5%B7%B4%E6%89%98-1926-7-1%EF%BC%8D2019-7-12