艾兹格·迪科斯彻(Edsger Wybe Dijkstra)-程序员宅基地

技术标签: 算法  语言  ibm  教育  其他  工作  algorithm  

Edsger Wybe Dijkstra

 “goto有害论

提出信号量和PV原语,解决了有趣的哲学家聚餐问题

银行家算法

最短路径算法的创造者

第一个Algol 60编译器的设计者和实现者

THE操作系统的设计者和开发者

D. E. Knuth并称为我们这个时代最伟大的计算机科学家的人。

在与癌症进行了多年的斗争之后,伟大的荷兰计算机科学家Edsger Wybe Dijkstra已经于 2002 8 6 在荷兰Nuenen自己的家中与世长辞!终年72岁。

中文介绍:

  本文转载自:

“http://emilmatthew.51.net/computerScience/scientist/dijkstra/index1.htm“

Edsger Wybe Dijkstra是计算机先驱之一,他开发了程序设计的框架结构。

他的早年经历

Edsger Wybe Dijkstra1930511日 生于Rotterdam,他的父亲,Douwe Wybe Dijkstra是一位化学家,他的母亲,Brechtje Cornelia Kruyper是一位数学家,这种充满科学气息的家庭背景对于他的职业生涯乃至他的整个人生都有着深刻的影响。Edsger Wybe Dijkstra在当地的Gymnasium Erasmianum读高中,1948年,他考入了Leyden大学。他在联合国从事法律方面的工作时却在怀念在Erasmianum的日子,现在,他选择了数学和物理。

首次体验程序设计

Edsger Wybe Dijkstra在三年之内取得了学士学位,这令他的父亲非常高兴,并在19519月同意他去英国参加一个夏季的课程,那是一个由剑桥大学开设的,学习电子计算装置程序设计的课程,讲师是著名的M. V. WilkesEdsger Wybe Dijkstra的导师让他给Amsterdam数学中心计算部门的主管Aad van Wijngaarden写一封信,以确定他的基础知识是否足够他去完成该学业。

在那一年前,Van Wijngaarden曾在剑桥学习过,他很快便回复了,信的内容有两点,一是肯定Dijkstra现有的知识已经足够了,而是请他来Amsterdam作为一名程序设计人员为自己工作。

对于Dijkstra来说,当时还是一名学生,而他在1951年夏季Wilkes所授的学业成为了他日后职业生涯的基础。

在数学中心的自由阶段

在没有任何相关知识的情况下,Dijkstra的程序设计生涯开始于改写突变程序和输入Van Wijngaarden已经写好的程序。Van Wijngaarden允许他这样做,这些程序是为MC第一台计算机ARRA I开发的,由C.S. ScholtenJ. Loopstra设计完成。

MC计算部门夜以继日的工作,去解决有关那些在Netherland开发的大的方案中为数众多的难题。例如关于Zeeland州安全问题的DELTA计划。

另外一个较大的工程是Fokker友谊飞机的开发,其机翼振动的计算结果需要MC尽最大的能量。

1953Gerrit Blaauw加入了MC的队伍。第一台ARRA II 构造完成,由于这台机器的可靠性,Fokker飞机公司又订了一台类似的计算机,叫做FERTAFERTA的速度是ARRA II 的两倍,而且用一套不同类型的代码。Dijkstra为这些机器都研制开发了软件,也包括其后1956年的ARMAC,那也是为MC开发的最后一台计算机。

在完成了FERTA之后,Gerrit Blaauw去往美国为IBM工作,在那里,他从事IBM7030“Stretch”的开发工作,并最终设计和建造了IBM 360系统。

新的挑战:Electrologica

由于巨大、精于计算的机器的开发以走上正轨,Dijkstra, Scholten Loopstra又以完成了下一台计算机的准备工作,1956年,MCmanagement和人寿保险公司Nillmij决定成立一个独立的公司:Electrologica,来经营商业电脑。

因此,Electrologica立即开始研发其第一台品牌机器:the Electrologica X1

崭新的计算机语言:ALGOL

19521956年间,程序设计经历了一个演变的过程,这部分是由于系统分组的复杂性要求一个更具结构性的操作系统,部分是由于科学、数学上的关于程序设计的态度都提出了一个清楚的关于如何提高工作效率的观点。DijkstraShortest Path Algorithm是在这方面取得的突出进展,因为这种演变是全球性的,所以,在全世界的推动下,一个科学的计算机语言基础:ALGOL,不久就诞生了。

1958年,Edsger Dijkstra代表Dutch MC出席了11月在Mainz召开的会议,那是一个定义ALGOL详述的准备会议。195912月,DijkstraALGOL60下了这样的定义:一个奇迹就被这样简单的创造了。最后,1962年的4月,罗马公约同意了其大部分的详述,同年8月,IFIP,国际程序设计语言联盟复查并批准了该报告。

1960年的1月,在ALGOL60被定义之后,数学中心首先在荷兰开设了ALGOL60程序设计语言的课程,接着,1961年在英国的Brighton。这是MC一个新的开端:程序设计教育。

TH Eindhoven:机会与欺骗

1962年,Edsger DijkstraTH Eindhoven任全职教授,虽然在国外已经被认为是计算机科学的主席,但Dijkstra强烈反对这个方法,这主要是由于在专业科学知识上的缺乏。他的位置实际上是一个数学教授,他的学生接受了至少三年彻底的数学教育,经过这样一个时期,他们都能作为信息学方面的专家了。那些数学训练是以应用数学原理为基础的。由此,信息学有了适合其学科本身的数学方法。

1967年,Dijkstra陷入了情绪上的危机,他第一个学生的论文被他在Eindhoven数学上的同事拒收了,而这些同事对于计算机科学一直是带有偏见的。对于他和他的妻子来说,那段不景气的日子是他们一生中最困难的时期。但是他很快有恢复了,并开始投入编写:结构化编程笔记。

DijkstraEindhoven的同事对此不是保持沉默,就是完全消极的反应,但Dijkstra选择了正确的还击方式:他给欧洲和美国的同事们复印了20多份稿件。

Burroughs和彻底的自由

1973年,Dijkstra成为了Burroughs的研究员,他减少了在Eindhoven TH的工作。这个决定使他能够去写科学报告,他为Burroughs写了500多篇,还可以如愿的出国旅行。他成了一个自由人,而且拥有该公司最小的实验室:他的书房。

Austin:新纪元的起点

Dijkstra在旅行途中多次有机会参观在Austin的得克萨斯州立大学,在那里他还做过几次讲座。1984年,他有了一个担任那里计算机科学学院的全职教授的机会,他觉得他在那里会感到像家一样,于是他和他的妻子搬到美国居住。这便开始了他15年的教学生活:编写、讨论程序设计技术。除此以外,整个美国的好客给他和他的妻子都留下了深刻的印象。

得克萨斯州立大学:超型计算机

1999年,Dijkstra在他69岁的时候,结束了作为教授的职业生涯。回顾47年的艰苦工作,为了一个更好、更简单、更准确的编程方法而不停地努力奋斗,使符号、说明清楚Dijkstra认为最具价值的是他对学生的教导,而且能够向人们展示这项工作可以做的比他们所知或所想象的更加出色。能够做到吸引他人,已经成为了他最有收获的活动。

对于我来说,计算机科学上的第一个挑战是如何把命令维持在有限个内,然而巨大的、分立的宇宙是复杂地缠绕着的。第二个也是同样重要的挑战是如何传授解决那第一个问题的方法:只培养你个人的才智(那会随你进入坟墓的东西)是不够的,你必须教会其他人如何去发挥他们的才智。你越关注这两个挑战,你越会清楚的看到它们只不过是同一枚硬币的两个面:自学是去发现什么东西是可以被教会的。
"My hopes to Computer Science")

Edsger Wybe Dijkstra因患癌症于 200286日 在Nuenen, The Netherlands逝世 。

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yhmhappy2006/article/details/3207960

智能推荐

ajax截取file文件名,js截取文件名 - 张升强的个人页面 - OSCHINA - 中文开源技术交流社区..._赢家论坛的博客-程序员宅基地

//取整个文件的路径并且把文件名赋给文件名var isTrue = true;function GetName(obj) {CheckType(obj);if (isTrue) {//隐藏控件赋值var hfExName = document.getElementById("");hfExName.value = GetFileName(obj.value);//服务控件文本框jq写法 id..._ajax拿file图片名

linux shell脚本 exit0,Bash exit命令和exit退出代码_梅洋汤的博客-程序员宅基地

通常,在编写Bash脚本时,需要在满足特定条件时终止脚本,或者根据命令的退出代码采取措施。在本文中,我们将介绍Bash exit内置命令和已执行命令的退出状态。退出状态每个shell命令成功终止或失败均返回退出代码。按照惯例,退出代码为零表示命令成功完成,而非零表示遇到错误。特殊变量$?返回最后执行的命令的退出状态:date &> /dev/nulldate命令成功完成,并且退出代码...

mysql多表联合查询并统计_mysql多表联合查询统计-程序员宅基地

推广地点表promotion_addr字段:name,id电话报竣表unicom_record字段:date, sheet_id(关联sheet表id)报单表sheet字段:id,promotion_addr_id(关联promotion_addr表id)要求统计某个月已报竣各推广地点的推广个数; SELECTp.name, count(*)FROMunicom_record _mysql多表联合查询统计

MySQL是如何解决幻读问题_幻读为什么不行-程序员宅基地

MySQL默认的隔离级别和其他数据库不一样,它默认的是可重复读(Repeatable-Read),其他大部分数据库是读已提交(Read-Commited),为什么会这样呢?先认识一下隔离级别.认识隔离级别https://blog.csdn.net/weixin_43507224/article/details/107183642各个隔离级别下分别会出现的问题:隔离级别脏读不可重复读幻读未提交读可能可能可能已提交读不可能可能可能可重复读不可能不可能_幻读为什么不行

html表单整理,实例_表单例子-程序员宅基地

首先通过一个实例来表明表单的一些基本的使用,然后详细讲解表单里面的属性,最后再做出总结。 接下来解析上面的例子 1、表单的作用:用来搜集不同类型的用户输入2、<form action="#" method="get"> </form> : form标签表示表单。action="#":设置数据的提交地址,就是提交给哪一个页面。method="get..._表单例子

windows下硬盘安装linux,Windows下硬盘安装linux系统.pdf-程序员宅基地

WindowsWindows 下硬盘安装下硬盘安装 linuxlinux 系统系统 一 启动引导 1 光盘安装方式 在 BIOS 中设置为 CDROM 后 重新启动从光驱启动即可 2 硬盘安装方式 A 从 XP 系统安装 Linux 在 boot ini 文件 在 c 盘根目录 隐藏者的 末尾 添加 c grldr Linux 保存 如不能保存 把属性的只读去掉 把 boot 文件 里面第二行的 ..._windows硬盘 linux系统

随便推点

wordpress如何整合html语言,如何将HTML集成到WordPress Woocommerce单一产品页面_猫研所的博客-程序员宅基地

您需要在themes文件夹中创建一个名为 woocommerce 的文件夹,并在theme文件夹中复制woocommere插件的templates文件夹的内容 . 通过这种方式,您可以覆盖默认内容 .完成上述操作后,在主题's folder. You'中查找 woocommerce 文件夹中的文件内容单品,看到很多钩子和 do_action . 不要惊慌 . 这些只是调用 woocommerce..._woocommerce_template_single_add_to_cart

上移下移mysql查询_使用php上移/下移MySQL行的位置_名见的博客-程序员宅基地

交换这样的东西UPDATE `position_table` SET `page_position` = CASEWHEN (`page_position`=1) THEN 2WHEN (`page_position`=2) THEN 1ENDWHERE `page_position` in (1, 2) -- last line to prevent whole table scan这是为了..._page-position

android 4k拍摄,五款专业安卓手机摄影App,立即提高手机生产力(全部免费)_罗曼罗的博客-程序员宅基地

科技发展日新月异,智能手机的性能也跟着提高。这几年各大手机厂商都非常注重提升手机摄影功能,以致于现在的1200W,4800W等摄影像素都成了手机摄影标配。当然这也使我们不用带着贵重的单反相机,就可以完成一些有质量照片拍摄,视频拍摄。但是每个手机厂商的自带摄影软件的功能各异,甚至有些不能为一些专业选手提供专业的功能。今天,我就为大家带来五款手机专业摄影App,让你可以使用手机享受更专业的摄影体验。m...

网路底层基础“TCP协议灵魂之问”,你是不是也需要巩固?_这里有二十项技术是铁血是质数还是序列然而临江发现可以以很快的通过这个阶段-程序员宅基地

推荐阅读:阿里架构师直言:“没有实战都是纸上谈兵”!Redis实战PDF分享Java程序员尽快学会哪些技术,才能达到面试跳槽水平?先亮出这篇文章的思维导图:TCP 作为传输层的协议,是一个软件工程师素养的体现,也是面试中经常被问到的知识点。在此,我将 TCP 核心的一些问题梳理了一下,希望能帮到各位。001. 能不能说一说 TCP 和 UDP 的区别?首先概括一下基本的区别:TCP是一个面向连接的、可靠的、基于字节流的传输层协议。而UDP是一个面向无连接的传输.._这里有二十项技术是铁血是质数还是序列然而临江发现可以以很快的通过这个阶段

《InsideUE4》GamePlay架构学习_WorldContext,GameInstance,Engine_ue setclienttravel_ZengSZ_00的博客-程序员宅基地

《InsideUE4》GamePlay架构学习WorldContext,GameInstance,Engine前话WorldContextGameInstanceEngineGamePlayStaticsWorldContext,GameInstance,Engine前话本次系列是关于知乎InsideUE系列的学习记录。原作链接如下:原文链接WorldContext前面对其他部分都花了大量时间来解释,那么World到底是什么。首先游戏里不只有一个World,World有多种类型。比如不同的视图_ue setclienttravel

云服务器安装预配置---外网访问史上最详细小白教程-程序员宅基地

由于这几天给电脑刷下机,耽误了我好几天时间,今天我们一起学习一下如何部署云服务器,让我们之前用pycharm写的个人网站能让外网访问。首先,我们需要下载 Xshell、Xftp,两个软件 http://www.netsarang.com/download/main.html。如果有人还不会安装与使用,请看我之前的博客。1.我们将Xshell软件连接到云服务器, 之后点击Xshell软件...