悼念伟大的计算机科学家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."