心目中的编程高手 (8a) -- Edsger Wybe Dijkstra

原创 2004年07月18日 01:18:00

对,就是E.W. Dijkstra. 一提到EWD,很多人就会想起找最短路径的Dijkstra Algorithm,就好像一提到Sir. Tony Hoare,就想起Quick Sort一样。其实这些个算法不过是两个牛人在他们职业生涯中最琐碎的贡献。比如Dijkstra算法,无非是戴爷爷在1956年为了展示新计算机ARMAC的计算能力,初试身手的成果,属于他的算法处女作。据戴爷爷自述,他搞出最短路径算法的时候连纸笔都没用。当时他和他老婆在阿姆斯特丹一家咖啡厅的阳台上晒太阳喝咖啡,突然就把这个算法想出来乐。而且当时的算法研究还比较原始,牛人们忙着用计算机搞数值计算,对离散算法不屑一顾。那时连一个象样的专注于离散算法的专业期刊都没有。戴爷爷于是推迟发表这个算法。直到1959年,他才把这个算法发表在Numerische Mathematik的创刊号上,权为捧场。:-) EWD在多个领域牛气冲天,端的是理论和编程两手硬的高手。只不过他的很多工作比较深刻,学校的老先生们觉得本科生接受不了,不给本科生讲而已。

戴爷爷大概因为最短路径算法一战成名,于是有人请他参加另一台计算机X1的设计工作,并且把设计实时中断系统的任务派给了他。现在看来实时中断也许不算什么,但要知到,X1前根本就没有实时中断的概念。实现它简直就是一场豪赌。戴爷爷起初还不情愿,但经不住项目负责人BramCarel的轮番吹捧:我们知道实时中断让您工作变得非常困难,但象您这样的牛人肯定能做出来的说。结果戴爷爷被糖衣炮弹彻底击穿,接下了这个烫手山芋。两三年后,他不仅搞出了实时中断,还围绕这个写出了自己的博士论文,顺利戴上博士帽。

让戴爷爷真正成名立万的还是在X1上开发的Algo60,最早的高级语言之一。戴爷爷没日没夜地工作了8个月,就搞出了Algo60,也因此获得了1972年的图灵奖。因为Algo60,戴爷爷发表了一篇石破天惊的文章:Recursive Programming于是人们才知道,原来高级语言也可以高效地实现递归,原来从此以后,所有程序员都不可避免地和戴爷爷发明的一个词(应该说是概念)打交道:堆栈。而且Algo60还让戴爷爷深入地思考多道程序设计的问题,最终发明了每个系统程序员都绕不开的概念:semaphore。当然,戴爷爷总是把他发明的概念严格形式化,极具科学家本色的说。和这些成就想比,他提出的吃饭的哲学家问题,也就没什么好说的了。

说来好笑,当时的大学(忘了哪所了)还是觉得戴爷爷没有受过正统的数学训练,也不是专门搞数值分析的,所以最后不太情愿地给了他一个教职。这种小挫折并不能妨碍象戴爷爷这样的牛人创造历史。他一边教数值分析(:-D) ,一边开始开发一个新的操作系统,并培养计算机科学家。几年后,THE Multiprogramming System横空出世。THE是第一个支持松散耦合,显式同步的进程并由此使得严格证明系统没有死锁变得容易的操作系统。可惜戴爷爷任职的系不识货,还强行解散了他的研究小组(1972年戴爷爷给他的系主任说他得了图灵奖,系主任的第一反应是你们搞计算机就喜欢乱发奖)。这让戴爷爷相当郁闷,得了抑郁症。在极度郁闷之中,戴爷爷决定用写作来治疗自己的抑郁症。于是经典就诞生乐:Notes on Structured Programming。戴爷爷从此被尊为结构化编程的奠基人,而且他的抑郁症也被治好乐。

EWD太牛,结果他的故事也太多。先到这里吧。1973起,他的故事就在美国发生了。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Edsger Dijkstra经典言论

1. 编程的艺术就是处理复杂性的艺术。2. 优秀的程序员很清楚自己的能力是有限的,所以他对待编程任务的态度是完全谦卑的,特别是,他们会象逃避瘟疫那样逃避 “聪明的技巧”。——1972年图灵奖演讲3. ...
  • myan
  • myan
  • 2002年08月12日 12:06
  • 6274

Edsger Wybe Dijkstra

 Edsger Wybe Dijkstra是计算机先驱之一,他开发了程序设计的框架结构。他的早年经历Edsger Wybe Dijkstra于1930年5月11日生于Rotterdam,他的父亲,Do...
  • mynote
  • mynote
  • 2007年02月12日 09:02
  • 1262

Edsger Wybe Dijkstra经典言论

1.编程的艺术就是处理复杂性的艺术。 2.优秀的程序员很清楚自己的能力是有限的,所以他对待编程任务的态度是完全谦卑的,特别是,他们会象逃避瘟疫那样逃避 “聪明的技巧”。——1972年图灵奖演讲 3....
  • holyromanempire
  • holyromanempire
  • 2016年09月17日 19:42
  • 112

Edsger W. Dijkstra

                                                                   Edsger W. Dijkstra Edsger Dijkstr...
  • duduhaha
  • duduhaha
  • 2006年05月16日 20:44
  • 2761

艾兹格·迪科斯彻(Edsger Wybe Dijkstra)

Edsger Wybe Dijkstra “goto有害论”提出信号量和PV原语,解决了有趣的“哲学家聚餐”问题银行家算法最短路径算法的创造者第一个Algol 60编译器的设计者和实现者THE操作系统...
  • yhmhappy2006
  • yhmhappy2006
  • 2008年11月03日 00:01
  • 1532

心目中的编程高手 zz

心目中的编程高手 MIT BBS上说微软电话面试的一道题就是"Who do you think is the best coder, and why?"。我觉得挺有意思的,也来凑个热闹。排名不分先后。...
  • mistlike
  • mistlike
  • 2008年03月03日 22:06
  • 204

心目中的编程高手

心目中的编程高手 -------------------------------------------------------------------by tala (tala) at 2004.7...
  • prettylife
  • prettylife
  • 2004年09月25日 07:56
  • 459

心目中的编程高手[zt]

MIT BBS上说微软电话面试的一道题就是“Who do you think is the best coder, and why?”。我觉得挺有意思的,也来凑个热闹。排名不分先后。Bill Joy,...
  • chinaismyhome
  • chinaismyhome
  • 2006年05月24日 18:29
  • 643

转贴 心目中的编程高手

MIT BBS上说微软电话面试的一道题就是“Who do you think is the best coder, and why?”。我觉得挺有意思的,也来凑个热闹。排名不分先后。 Bill Joy...
  • RobinKin
  • RobinKin
  • 2005年03月16日 18:36
  • 1245

[转贴] 心目中的编程高手

一篇很老的文章了,不过 刚看到,就转过来了。 Bill Joy, 前任Sun的首席科学家,当年在Berkeley时主持开发了最早版本的BSD。他还是vi和csh的作者。当然,Csh Programmi...
  • zengbo0710
  • zengbo0710
  • 2007年10月22日 14:47
  • 578
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:心目中的编程高手 (8a) -- Edsger Wybe Dijkstra
举报原因:
原因补充:

(最多只允许输入30个字)