算法學家、程序設計學家 Edsger Wybe Dijkstra

看到Edsger Wybe Dijkstra這個名字大家可能最先想到的就是最短路徑算法,除此之外,給大家介紹他的一些其它的情況。

Edsger Wybe Dijkstra是計算機先驅之一,他開發了程序設計的框架結構。

他的早年經歷
Edsger Wybe Dijkstra於1930年5月11日生於Rotterdam,他的父親,Douwe Wybe Dijkstra是一位化學家,他的母親,Brechtje Cornelia Kruyper是一位數學家,這種充滿科學氣息的家庭背景對於他的職業生涯乃至他的整個人生都有着深刻的影響。Edsger Wybe Dijkstra在當地的Gymnasium Erasmianum讀高中,1948年,他考入了Leyden大學。他在聯合國從事法律方面的工作時卻在懷念在Erasmianum的日子,現在,他選擇了數學和物理。

首次體驗程序設計
Edsger Wybe Dijkstra在三年之內取得了學士學位,這令他的父親非常高興,並在1951年9月同意他去英國參加一個夏季的課程,那是一個由劍橋大學開設的,學習電子計算裝置程序設計的課程,講師是著名的M. V. Wilkes。Edsger Wybe Dijkstra的導師讓他給Amsterdam數學中心計算部門的主管Aad van Wijngaarden寫一封信,以確定他的基礎知識是否足夠他去完成該學業。

在那一年前,Van Wijngaarden曾在劍橋學習過,他很快便回覆了,信的內容有兩點,一是肯定Dijkstra現有的知識已經足夠了,而是請他來Amsterdam作爲一名程序設計人員爲自己工作。

對於Dijkstra來說,當時還是一名學生,而他在1951年夏季Wilkes所授的學業成爲了他日後職業生涯的基礎。

在數學中心的“自由階段”
在沒有任何相關知識的情況下,Dijkstra的程序設計生涯開始於改寫突變程序和輸入Van Wijngaarden已經寫好的程序。Van Wijngaarden允許他這樣做,這些程序是爲MC第一臺計算機ARRA I開發的,由C.S. Scholten和J. Loopstra設計完成。MC計算部門夜以繼日的工作,去解決有關那些在Netherland開發的大的方案中爲數衆多的難題。例如關於Zeeland州安全問題的DELTA計劃。

另外一個較大的工程是Fokker友誼飛機的開發,其機翼振動的計算結果需要MC盡最大的能量。

1953年Gerrit Blaauw加入了MC的隊伍。第一臺ARRA II 構造完成,由於這臺機器的可靠性,Fokker飛機公司又訂了一臺類似的計算機,叫做FERTA。FERTA的速度是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
1952至1956年間,程序設計經歷了一個演變的過程,這部分是由於系統分組的複雜性要求一個更具結構性的操作系統,部分是由於科學、數學上的關於程序設計的態度都提出了一個清楚的關於如何提高工作效率的觀點。Dijkstra的Shortest Path Algorithm是在這方面取得的突出進展,因爲這種演變是全球性的,所以,在全世界的推動下,一個科學的計算機語言基礎:ALGOL,不久就誕生了。

1958年,Edsger Dijkstra代表Dutch MC出席了11月在Mainz召開的會議,那是一個定義ALGOL詳述的準備會議。1959年12月,Dijkstra給ALGOL60下了這樣的定義:“一個奇蹟就被這樣簡單的創造了。”最後,1962年的4月,羅馬公約同意了其大部分的詳述,同年8月,IFIP,國際程序設計語言聯盟複查並批准了該報告。
1960年的1月,在ALGOL60被定義之後,數學中心首先在荷蘭開設了ALGOL60程序設計語言的課程,接着,1961年在英國的Brighton。這是MC一個新的開端:程序設計教育。

TH Eindhoven:機會與欺騙
1962年,Edsger Dijkstra在TH Eindhoven任全職教授,雖然在國外已經被認爲是計算機科學的主席,但Dijkstra強烈反對這個方法,這主要是由於在專業科學知識上的缺乏。他的位置實際上是一個數學教授,他的學生接受了至少三年徹底的數學教育,經過這樣一個時期,他們都能作爲信息學方面的專家了。那些數學訓練是以應用數學原理爲基礎的。由此,信息學有了適合其學科本身的數學方法。

1967年,Dijkstra陷入了情緒上的危機,他第一個學生的論文被他在Eindhoven數學上的同事拒收了,而這些同事對於計算機科學一直是帶有偏見的。對於他和他的妻子來說,那段不景氣的日子是他們一生中最困難的時期。但是他很快有恢復了,並開始投入編寫:結構化編程筆記。

而Dijkstra在Eindhoven的同事對此不是保持沉默,就是完全消極的反應,但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因患癌症於2002年8月6日在Nuenen, The Netherlands逝世。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章