悼念伟大的计算机科学家Edsger Wybe Dijkstra
2002年8月8日,我象往常一样查看自己在extremeprogramming电子小组上订阅的newsletter。突然看到这个小组上的稀客、OO教父Grady Booch的发言,题目是Dijkstra。我以为大家在讨论Dijkstra教授提出的什么难题,定睛一看,才知道是一篇类似生平介绍式的讣告——在与癌症进行了多年的斗争之后,伟大的荷兰计算机科学家Edsger Wybe Dijkstra已经于2002年8月6日在荷兰Nuenen自己的家中与世长辞!终年72岁。
原来如此!
这个Dijkstra,就是那个提出“goto有害论”的Dijkstra,就是那个提出信号量和PV原语,解决了有趣的“哲学家聚餐”问题的Dijkstra,那个Dijkstra最短路径算法的创造者,第一个Algol 60编译器的设计者和实现者,THE操作系统的设计者和开发者,那个与D. E. Knuth并称为我们这个时代最伟大的计算机科学家的人。
阿兰图灵的自杀是在办个世纪之前,冯诺依曼去世也已经多年,作为这个相对新兴的行当中的从业者,我们似乎已经很习惯于从相信,从书上读到的每个名字都是仍然在世的活生生的人,都是我们这个时代的骄傲。无论是仍然健硕的D. E. Knuth,Fred Brooks,Dennis Ritchie, Ken Thompson, Brian Kernighan, 还是正当盛年的Bjarne Stroustrup,Grady Booch,Steve McConnell, Andy Koenig, Robert Martin, Kent Becker, Martin Fowler, James Gosling, 再或者是青春年少,意气风发的Linus Trovalds,Andrei Alexandrescu,我们似乎都习惯于认为,只要一封email,这些书本上的名字就会立刻成为你的朋友。Internet把地球变成了一个大村庄,每个人的距离都那么的近。
但是可惜,Internet却无法缩短跨越生与死的冥界。今天,一颗真正的巨星在我们的眼前陨落!作为一名普通的程序员,我从内心感到惋惜和悲痛。这种悲痛,两年半前在我最初得知Richard Stevens的逝世时,也曾感受过,然而却不如今天来得这么强烈。毕竟,当我对编程还是懵懵懂懂的时候,就知道有个叫Dijkstra的人劝告大家不要滥用goto,而在那之前,goto在我看来就是编程的全部奥秘所在。之后我在学习算法、数据结构、操作系统等课程的时候,Dijkstra这个名字一次又一次从书里跳出来,我对于这个名字的崇敬也越来越深。我知道他晚年疯狂的迷恋C++,这也几乎是我这个C++ Fan所能感受到的最大荣幸。我曾想过,有朝一日,我会给他写一封email,什么也不说,只想表达我个人对他的感谢和敬意。没想到,如今连这个机会也没有了!
Dijkstra引导了并且将继续引导这个星球上所有的程序员,他的贡献和影响将与世长存,让我们祝他安息!
【附】Grady Booch对Dijkstra的介绍
> Professor Edsger Wybe Dijkstra, a noted pioneer of the science and > industry of computing, died after a long struggle with cancer on 6 > August 2002 at his home in Nuenen, the Netherlands.>> Dijkstra was born in 1930 in Rotterdam, The Netherlands, the son of a > chemist father and a mathematician mother. He graduated from the > Gymnasium Erasmianum in Rotterdam and obtained degrees in mathematics > and theoretical physics from the University of Leyden and a Ph.D. in > computing science from the University of Amsterdam. He worked as a > programmer at the Mathematisch Centrum, Amsterdam, 1952-62; was > professor of mathematics, Eindhoven University of Technology, > 1962-1984; and was a Burroughs Corporation research fellow, 1973-1984. > He held the Schlumberger Centennial Chair in Computing Sciences at the > University of Texas at Austin, 1984-1999, and retired as Professor > Emeritus in 1999.>> Dijkstra is survived by his wife of over forty years, Maria (Ria) C. > Dijkstra Debets, by three children, Marcus J., Femke E., and computer > scientist Rutger M. Dijkstra, and by two grandchildren.>> Dijkstra was the 1972 recipient of the ACM Turing Award, often viewed > as the Nobel Prize for computing. He was a member of the Netherlands > Royal Academy of Arts and Sciences, a member of the American Academy > of Arts and Sciences, and a Distinguished Fellow of the British > Computer Society. He received the 1974 AFIPS Harry Goode Award, the > 1982 IEEE Computer Pioneer Award, and the 1989 ACM SIGCSE Award for > Outstanding Contributions to Computer Science Education. Athens > University of Economics awarded him an honorary doctorate in 2001. In > 2002, the C&C Foundation of Japan recognized Dijkstra "for his > pioneering contributions to the establishment of the scientific basis > for computer software through creative research in basic software > theory, algorithm theory, structured programming, and semaphores".>> Dijkstra is renowned for the insight that mathematical logic is and > must be the basis for sensible computer program construction and for > his contributions to mathematical methodology. He is responsible for > the idea of building operating systems as explicitly synchronized > sequential processes, for the formal development of computer programs, > and for the intellectual foundations for the disciplined control of > nondeterminacy. He is well known for his amazingly efficient shortest > path algorithm and for having designed and coded the first Algol 60 > compiler. He was famously the leader in the abolition of the GOTO > statement from programming.>> Dijkstra was a prodigious writer. His entire collection of over > thirteen hundred written works was digitally scanned and is accessible > at http://www.cs.utexas.edu/users/EWD. He also corresponded regularly > with hundreds of friends and colleagues over the years --not by email > but by conventional post. He strenuously preferred the fountain pen to > the computer in producing his scholarly output and letters.>> Dijkstra was notorious for his wit, eloquence, and way with words, > such as in his remark "The question of whether computers can think is > like the question of whether submarines can swim"; his advice to a > promising researcher, who asked how to select a topic for research: > "Do only what only you can do"; and his remark in his Turing Award > lecture "In their capacity as a tool, computers will be but a ripple > on the surface of our culture. In their capacity as intellectual > challenge, they are without precedent in the cultural history of > mankind.">> Dijkstra enriched the language of computing with many concepts and > phrases, such as structured programming, separation of concerns, > synchronization, deadly embrace, dining philosophers, weakest > precondition, guarded command, the excluded miracle, and the famous > "semaphores" for controlling computer processes. The Oxford English > Dictionary cites his use of the words "vector" and "stack" in a > computing context.>> Dijkstra enjoyed playing Mozart for his friends on his Boesendorfer > piano. He and his wife had a fondness for exploring state and national > parks in their Volkswagen bus, dubbed the Touring Machine, in which he > wrote many technical papers.>> Throughout his scientific career, Dijkstra formulated and pursued the > highest academic ideals of scientific rigour untainted by commercial, > managerial, or political considerations. Simplicity, beauty, and > eloquence were his hallmarks, and his uncompromising insistence on > elegance in programming and mathematics was an inspiration to > thousands. He judged his own work by the highest standards and set a > continuing challenge to his many friends to do the same. For the rest, > he willingly undertook the role of Socrates, that of a gadfly to > society, repeatedly goading his native and his adoptive country by > remarking on the mistakes inherent in fashionable ideas and the > dangers of time-serving compromises. Like Socrates, his most > significant legacy is to those who engaged with him in small group > discussions or scientific correspondence about half-formulated ideas > and emerging discoveries. Particularly privileged are those who > attended his reading groups in Eindhoven and Austin, known as the > "Tuesday Afternoon Clubs".>> At Dijkstra's passage, let us recall Phaedo's parting remark about> Socrates: "we may truly say that of all the men of his time whom we > have known, he was the wisest and justest and best."