UTexas的网站上关于Dijkstra生平的一些介绍

starfish 2002-08-13 05:49:12
Edsger Wybe Dijkstra: 1930-2002

Professor Edsger Wybe Dijkstra, a noted pioneer of the science and industry o
f computing, died after a long struggle with cancer on 6 August 2002 at his h
ome 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 Erasmianu
m in Rotterdam and obtained degrees in mathematics and theoretical physics fr
om 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 p
rofessor of mathematics, Eindhoven University of Technology, 1962-1984; and w
as a Burroughs
Corporation research fellow, 1973-1984. He held the Schlumberger Centennial C
hair in Computing Sciences at the University of Texas at Austin, 1984-1999, a
nd 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 Rutge
r 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 o
f Arts and Sciences, a member of the American Academy of Arts and Sciences, a
nd a Distinguished
Fellow of the British Computer Society. He received the 1974 AFIPS Harry Good
e Award, the 1982 IEEE Computer Pioneer Award, and the 1989 ACM SIGCSE Award
for Outstanding Contributions to Computer Science Education. Athens Universit
y of Economics
awarded him an honorary doctorate in 2001. In 2002, the C&C Foundation of Jap
an recognized Dijkstra "for his pioneering contributions to the establishment
of the scientific basis for computer software through creative research in b
asic software theory,
algorithm theory, structured programming, and semaphores".

Dijkstra is renowned for the insight that mathematical logic is and must be t
he basis for sensible computer program construction and for his contributions
to mathematical methodology. He is responsible for the idea of building oper
ating systems as
explicitly synchronized sequential processes, for the formal development of c
omputer programs, and for the intellectual foundations for the disciplined co
ntrol of nondeterminacy. He is well known for his amazingly efficient shortes
t path algorithm and
for having designed and coded the first Algol 60 compiler. He was famously th
e leader in the abolition of the GOTO statement from programming.

Dijkstra was a prodigious writer. His entire collection of over thirteen hund
red written works was digitally scanned and is accessible at http://www.cs.ut
exas.edu/users/EWD. He also corresponded regularly with hundreds of friends a
nd colleagues over
the years --not by email but by conventional post. He strenuously preferred t
he 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 a
sked how to select a
topic for research: "Do only what only you can do"; and his remark in his Tur
ing Award lecture "In their capacity as a tool, computers will be but a rippl
e 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, s
uch as structured programming, separation of concerns, synchronization, deadl
y embrace, dining philosophers, weakest precondition, guarded command, the ex
cluded miracle, and
the famous "semaphores" for controlling computer processes. The Oxford Englis
h Dictionary cites his use of the words "vector" and "stack" in a computing c
ontext.

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 hallmar
ks, and his
uncompromising insistence on elegance in programming and mathematics was an i
nspiration 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 goadi
ng his native and his adoptive country by remarking on the mistakes inherent
in fashionable ideas and the dangers of time-serving compromises. Like Socrat
es, his most
significant legacy is to those who engaged with him in small group discussion
s or scientific correspondence about half-formulated ideas and emerging disco
veries. 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."
...全文
334 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgwangshu 2002-08-19
  • 打赏
  • 举报
回复
默哀。。。。。




潜水艇能游泳吗?飞机是在飞吗?
会思考的草 2002-08-18
  • 打赏
  • 举报
回复
默哀ing.....
linanxue 2002-08-17
  • 打赏
  • 举报
回复
我要默哀三天。我以前只知道他是一位很有成就的计算机理论方面的专家,曾经以为他死了很久了,因为他的那些算法距离我们的时间已很远。
共同为计算机理论的奠基者致意!
Heway 2002-08-17
  • 打赏
  • 举报
回复
默哀。。。。。
zuozl 2002-08-17
  • 打赏
  • 举报
回复
向大师致敬、默哀!!
zuozl 2002-08-17
  • 打赏
  • 举报
回复
1972年的图灵奖授予荷兰的计算机科学家埃德斯加.狄克斯特拉 (Edsgar Wybe Dijkstra)。狄克斯特拉因最早指出“goto是有害的”以及首创结构化程序设计而闻名于世。 事实上,他对计算机科学的贡献并不仅仅限于程序设计技术。在算法和算法理论、编译器、操作系统诸多方面,狄克斯特拉都有许多创造,作出了杰出贡献。1983年,ACM为纪念Communications of ACM 创刊25周年,评选出从1958-1982的四分之一个世纪中在该杂志上发表的25篇有里程碑意义的论文,每年一篇,狄克斯特拉一人就有两篇入选,是仅有的这样的两位学者之一(另一位是英国学者霍尔:C. A. R. Hoare,1980年图灵奖获得者)。



狄克斯特拉1930年5月11日生于鹿特丹的一个知识分子家庭,在兄弟姐妹4人中排列第三。 他的父亲是一名化学家和发明家,曾担任荷兰化学会主席。 他母亲则是一位数学家。 狄克斯特拉的少年时代是在德国法西斯占领军的铁蹄下度过的。由于食物短缺,他被送到乡下他父亲的一个朋友那里去。 纳粹德国投降后, 1945年7月,十分虚弱的狄克斯特拉才和家人重新团聚。 狄克斯特拉原打算学法律,毕业后到联合国工作,为维护世界和平服务。但他中学毕业时,数理化成绩都特别好,因此他父亲说服了他,1948年进莱顿大学学习数学与物理。在学习理论物理的过程中,狄克斯特拉发现这个领域中的许多问题都需要进行大量复杂的计算,于是决定学习计算机编程。1951年,他自费赴英参加了剑桥大学举办的一个程序设计培训班,学习在EDSAC(Electronic Delay Storage Automatic Calculator,这是由1967年图灵奖获得者威尔克斯主持设计与开发的世界上第一中存储程序式电子计算机)上的编程方法,这使他成为世界上第一批程序员之一。第二年,阿姆斯特丹数学中心了解到这一情况,拟聘他为兼职程序员。狄克斯特拉开始时有些犹豫,因为世界上当时还没有“程序员”这一职业。数学中心的计算部主任、Algol 语言的设计者之一、荷兰的计算技术先驱维京格尔藤(A. van Wijingaarden, 1916-1987,因在设计Algol 68时,为解决上下文有关性这一难题而提出了一种具有很强描述能力的新的文法,叫二级文法又称W文法而闻名。他也曾对1984年图灵奖获得者N. Wirth的研究产生过影响)对他说,目前程序设计虽然还没有成为学科,不被重视,但既然计算机已经有了,正处于开创阶段,你未来就有可能使程序设计成为一个受人尊敬的学科。这段话说动了狄克斯特拉,使他接受了这个职位,而且越干越有兴趣,这样,他在第二年就结束了在莱顿大学的学业,成为数学中心全日制的工作人员,从此进入计算机领域,并且正如维京格尔藤所预言的那样, 逐渐成为该领域的知名专家,创造出了许许多多的“第一”。



1956年,他成功地设计并实现了在有障碍物的两个地点之间找出一条最短路径的高效算法,这个算法被命名为“狄克斯特拉算法”,解决了机器人学中的一个十分关键的问题,即运动路径规划问题,至今仍被广泛应用。



1959年,在数学中心将他们原先的ARMAC计算机进行升级的过程中,狄克斯特拉设计了一种处理程序,成功地解决了“实时中断”(real-time interrupt)问题。狄克斯特拉的博士论文就是以此为课题完成的,并在阿姆斯特丹大学通过论文答辩而获得博士学位。



1960年8月,Algol 60文本推出刚刚半年多,狄克斯特拉和他在数学中心的同事仲纳凡尔特(J. A. Zonneveld)一起就率先实现Algol 60早一年还多。这一成就引起各国计算机学者的惊叹,并因此奠定了狄克斯特拉作为世界一流计算机学者在科学界的地位。



1962年,狄克斯特拉离开数学中心进入位于荷兰南部的艾恩德霍芬技术大学(Eindhoven Technical University)任数学教授。在这里,他参加了X8计算机的开发,设计与实现了具有多道程序运行能力的操作系统——THE Multiprogramming System。THE是艾恩德霍芬技术大学的荷兰文Tchnische Hoogeschool Eindhov –en的词头缩写。狄克斯特拉在THE这个系统中所提出的一系统方法和技术奠定了计算机现代操作系统的基础,尤其是关于多层体系结构,顺序进程之间的同步和互斥机制这样一些重要的思想和概念都是狄克斯特拉在THE中首先提出并为以后的操作系统如UNIX等所采用的。为了在单处理机的情况下确定进程(process)能否占有处理机,狄克斯特拉将每个进程分为“就绪”(ready)、“运行”(running)和“阻塞”(blocking)三个工作状态。由于在任一时刻最多只有一个进程可以使用处理机,正占用着处理机的进程称为“运行”进程。当某进程已具备了使用处理机的条件,而当前又没有处理机供其使用,则使该进程处于“就绪”状态。当运行进程由于某种原因无法继续运行下去时,就停止其占用处理机,使之进入“阻塞”状态,待造成其退出运行的条件解除,再进入“就绪”状态。而对系统中所有同时运行的进程,在一个进程访问共享数据时,另一个进程不访问该数据)和互斥(mutually- exclusive,指两个进程不能同时在一个临界区中使用同一个可重复使用的资源,诸如读写缓冲区)两个关系,狄克斯特拉巧妙地利用火车运行控制系统中的“信号灯”(semaphore,或叫”信号量”)概念加以解决。所谓信号灯,实际上就是用来控制进程状态的一个代表某一资源的存储单元。例如,P1和P2是分别将数据送入缓冲B和从缓冲B读出数据的两个进程,为了防止这两个进程并发时产生错误,狄克斯特拉设计了一种同步机制叫“PV操作”,P操作和V操作是执行时不被打断的两个操作系统原语。执行P操作P(S)时信号量S的值减1,若结果不为负则P(S)执行完毕,否则执行P操作的进程暂停以等待释放。执行V操作V(S)时,S的值加1,若结果不大于0则释放一个因执行P(S)而等待的进程。对P1和P2可定义两个信号量S1和S2,初值分别为1和0。进程P1在向缓冲B送入数据前执行P操作P(S1),在送入数据后执行V操作V(S2)。进程P2在从缓冲B读取数据前先执行P操作P(S2),在读出数据后执行V操作V(S1)。当P1往缓冲B送入一数据后信号量S1之值变为0,在该数据读出后S1之值才又变为1,因此在前一数未读出前后一数不会送入,从而保证了P1和P2之间的同步。我国读者常常不明白这一同步机制为什么叫PV操作,原来这是狄克斯特拉用荷兰文定义的,因为在荷兰文中,通过叫passeren,释放叫vrijgeven,PV操作因此得名。这是在计算机术语中不是用英语表达的极少数的例子之一。

THE还有许多特色和创新,如:

1.对短程序予以特殊处理,以减少其周转时间,从而提高整个系统的效率;

2.在使用外围设备方面采取了一系列特殊手段,使之更加经济;

3.对与CPU相联的后援存储器能进行自动控制;

4.设计中既考虑了方便程序员使用,也考虑了方便操作员使用和维护计算机系统。

THE是在程序设计中最先引入并发概念的系统,开创了并发程序设计的先河。因此,当1967年,狄克斯特拉在ACM召开的第一届操作系统原理讨论会上提交的论文“THE多道程序系统的结构”一文中介绍了该系统后,引起与会者的极大兴趣和重视。该文后来刊载于1968年5月的Communications of ACM上, 就是被评为有里程碑意义的25篇论文之一。 狄克斯特拉的另一篇有里程碑意义的论文是“并发程序控制中的一个问题的解决”(Solution of a Problem in Concurrent Programming Control),是1965年9月发表的。

1968年3月,Communications of ACM登出了狄克斯特拉的那封影响深远的信,在信中他根据自己编程的实际经验和大量观察,得出如下结论:一个程序的易读性和易理解性同其中所包含的无条件转移控制的个数成反比关系,也就是说,转向语句的个数愈多,程序就愈难读、难懂。因此他认为“GOTO是有害的”,并从而启发了结构化程序设计的思想。1972年,他与当时在爱尔兰昆士大学任教的英国计算机科学家、1980年图灵奖获得者霍尔(C. A. R. Hoare)合著了《结构化程序设计》一书(Structured Programming,Academic Pr.),进一步发展与完善了这一思想,并且提出了另一个著名的论断:“程序测试只能用来证明有错,决不能证明无错!”(Program testing can be used to show the presence of bugs,but never to show their absence!)。

1973年8月,狄克斯特拉离开艾恩德霍芬,应聘担任著名的美国宝来公司(Burroughs)的高级研究员,但宝来并不要求他到密歇根州的底特律总部或世界各地的任一分支机构去上班,而是给予他最大的自由:留在荷兰家里做自己感兴趣的任何事情,或到世界各地旅行、考察、参加会议……唯一的要求是他经常把自己的行踪、见闻、观感、心得和看法以书面形式向公司报告。狄克斯特拉于是当了约10年的“自由”研究员,这期间他去过德国、英国、安哥拉、瑞士、加拿大、波兰、苏联、日本、法国、澳大利亚等许多学术会议、讨论会或培训班,当然也继续做研究工作。他向宝来公司发去的信件有500多篇,内容十分丰富。在这期间,狄克斯特拉对计算机科学作出的最重要的贡献,就是1975年他提出了公理化语义描述的一种方法,叫“最弱前置条件方法”(weakest pre-condition method),这种方法是在霍尔所提出的前后断言(assertion) 的基础上形成的。其基本思想是:将程序设计看作是“面向目标”的活动,编程就是从预先给定的“后断言”出发,逆向地逐步推导出满足它的程序,同时计算出所需的最弱前置条件。它是一个谓词公式,用wp(S,R)表示,其中R是语句S执行后所期望的的结果,也就是后断言或称结果断言。例如,赋值语句(assignment statement)的语义可如下表示:

wp(x:= e,R)≡ R [x/e]

其意义是将R中x的所有自由出现同时代换成e 。

假定将x * x赋给x后,x4 = 10,则可表示成:

wp(“x:= x * x”,x4 = 10) ≡((x * x)4=10) ≡(x8=10)

为了证明循环的终止性,狄克斯特拉引入了循环不变式和界函数。一般说来,一个循环呈如下形式:

{invariant:P}——进入循环前,不变式P真,

{bound:t} ——并且B真时 t>0,t是循环次数的上界

doB→Decrease t,S true od

———当B真时,使t 递减并执行S,S执行过程真

Chiun 2002-08-17
  • 打赏
  • 举报
回复
向大师致敬
zula 2002-08-17
  • 打赏
  • 举报
回复
收藏先
alidiedie 2002-08-17
  • 打赏
  • 举报
回复
长见识。
fishas 2002-08-17
  • 打赏
  • 举报
回复
不知道
byyter 2002-08-16
  • 打赏
  • 举报
回复
我太孤陋寡闻了,以前只知道他有个单源最短路径算法,果然是大师!
stonepeter 2002-08-16
  • 打赏
  • 举报
回复
我喜欢这句话,昨天晚上睡觉的时候都想了好久!这个比喻,绝!
“计算机是否能思考的问题等同于潜水艇是否能游泳”
stonepeter 2002-08-16
  • 打赏
  • 举报
回复
我只翻译了一点好玩的东西。
还有一些不会翻译。

Edsger Wybe Dijkstr :1930-2002
Dijkstra教授,著名的计算机科学和工业先锋,在长时间与癌症的斗争之后,于2002年8月6日,死于Netherlands Nuennen的家中。
……1930年生于Netherlands Rotterdam,老爸是个化学家,老妈是个数学家。获得数学和物理双学位,和计算机博士。
1952-1962,程序员,Mathematisch Centrum, Amsterdam
1962-1984,数学教授,Eindhoven大学
1973-1984,研究员,Burroughs Corporation
1984-1999,Schlumberger Centennial Chair,某大学
1999,退休
他有3个孩子,两个孙子。
1972年获得图灵奖,………………,1974年 AFIPS Harry Goode Award, 1982 IEEE计算机先锋奖,1989 ACM, 因对计算机教育的非凡成就,SIGCSE奖;
他提出将操作系统作为同步序列方式处理;
写了第一个Algol 60编译器;
最短路算法;
极力倡导在程序中放弃使用GOTO的领导人物;
写过很多东西!大约有1300个著作,可以在 http://www.cs.utexas.edu/user/EWD找到它们的电子版。他与许多朋友和同事一直保持联系--不是用电子邮件,而是用传统的书信:)
他的智慧、雄辩、以及他说的话都很有名如“计算机是否能思考的问题等同于潜水艇是否能游泳”………………
他提出了许多概念丰富了计算机语言,例如“结构化程序设计”“同步”“向量”“栈”
------------------------------------------------

newhand2000 2002-08-16
  • 打赏
  • 举报
回复
默哀!致敬!
jlandzpa 2002-08-16
  • 打赏
  • 举报
回复
up
c_vector 2002-08-16
  • 打赏
  • 举报
回复
谢谢 starfish(海星) ,我会珍藏这个帖子
DaNiao 2002-08-13
  • 打赏
  • 举报
回复
我还是很喜欢这句:
died after a long struggle with cancer
DaNiao 2002-08-13
  • 打赏
  • 举报
回复
wwwwwwwwwww
我好好悲痛压
wwwwwwwwwww
redjick 2002-08-13
  • 打赏
  • 举报
回复
厉害
liangliangzhu 2002-08-13
  • 打赏
  • 举报
回复
大师永远活在我们的心中!

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧