IT簡史 | 艾茲格·迪科斯徹 Edsger Dijkstra - 結構程序設計之父

2021-02-15 魚C工作室

後臺回復關鍵字「IT簡史」,可查看往期精彩內容哦~

1930.5.11-2002.8.6

生於荷蘭鹿特丹,計算機科學家,是荷蘭第一位以程式為專業的科學家。

與D. E. Knuth並稱為我們這個時代最偉大的計算機科學家的人。

他曾經提出「GOTO有害論」,信號量和PV原語,解決了有趣的「哲學家就餐問題」。

被稱為「結構程序設計之父」和「先知先覺」(Oracle),他一生致力於把程序設計發展成一門科學。

1948年,他考入了Leyden大學。

1950年,進入聯合國並從事法律方面的工作。

1951年,去英國參加一個由劍橋大學開設的,學習電子計算裝置程序設計的課程。

講師是著名的威爾克斯,迪科斯徹的導師讓他給數學中心計算部門的主管寫一封信。

確定他的基礎知識是否足夠他去完成該學業。

1952年,收到回信,信的內容有兩點,一是肯定迪科斯徹現有的知識已經足夠了。

二是邀請他成為一名程序設計人員。

迪科斯徹大學畢業後,欣然加入。

1952至1956年,程序設計經歷了一個演變的過程。

這部分是由於系統分組的複雜性要求一個更具結構性的作業系統。

部分是由於科學、數學上的關於程序設計的態度都提出了一個清楚的關於如何提高工作效率的觀點。

迪科斯徹的Shortest Path Algorithm是在這方面取得的突出進展。

因為這種演變是全球性的,所以,在全世界的推動下,一個科學的計算機語言基礎:ALGOL,不久就誕生了。

1958年,迪科斯徹代表Dutch MC出席了在瑞士蘇黎世召開了一場8個人的討論會。

那是一個定義ALGOL詳述的準備會議,由艾倫·佩利發起。

1959年,迪科斯徹給ALGOL60下了這樣的定義:「一個奇蹟就被這樣簡單的創造了。」

1960年,在ALGOL60被定義之後,數學中心首先在荷蘭開設了ALGOL60程序設計語言的課程。

1961年,MC引領了新的開端:程序設計教育。

1962年,迪科斯徹任全職教授,雖然在國外已經被認為是計算機科學的主席,但他本人強烈反對這個稱呼。

這主要是由於在專業科學知識上的缺乏,他的位置實際上是一個數學教授。

直到1999年,他69歲的時候,結束了作為教授的職業生涯。

回顧47年的艱苦工作,為了一個更好、更簡單、更準確的編程方法而不停地努力奮鬥,使「符號、說明清楚」。

相關焦點

  • 結構工程師基礎知識點:程序設計語言
    一、程序設計語言  電腦程式設計語言又稱算法語言。目前國內外比較通用的算法語言有多種,如BASIC、FORTRAN、PASCAL、ALGOL、C等。隨著算法語言本身的發展和完善,同一語言中還有不同的標準文本問世。每種語言都有其自身的規則和特點,但也有共性的地方。
  • 信息學競賽Pascal語言順序結構程序設計(二)
    合肥奧數網:青少年信息學競賽輔導資料Pascal語言:第二章 順序結構程序設計   第二章 順序結構程序設計   賦值語句   PASCAL有兩個語句可以改變變量的值。賦值語句是其中之一(另一個是讀語句)。賦值,顧名思義,就是把一個值賦予某個量。
  • ...設計CBDC業務程序和系統架構(計算機系統結構、動作方式、組成...
    韓國銀行30日表示,截至上月結束CBDC基礎業務(設計、定義條件、研究體現技術),並以此為基礎推進第二階段事業—「CBDC業務程序分析及外部諮詢」。通過諮詢設計CBDC業務程序和系統架構(計算機系統結構、動作方式、組成要素關係、數據管理、安全等),並制定明年推進構建「CBDC 文/冷靜2020-08-31 16:08:18來源:FX168 【韓央行推進數字貨幣外部諮詢方案】韓聯社8月30日報導,韓國銀行為建立「中央銀行數字貨幣(CBDC)示範系統
  • 程序猿必看:程序設計語言發展史
    今天,我們就來談一談程序設計語言的發展史。Pascal語言廣泛用於各種軟體,程序分為名稱、設置、開始、程序、讀取、結束,結構層次強,嚴謹而又緊密。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
  • 計算機的發展簡史
    計算機的發展簡史 1946年EDAC是從141年開始設計,到30年代初才研製成功,在它未研製成功之前,馮·諾依曼的設計思想啟發了另外兩臺機器的設計,一臺是在威爾克斯( Wilkes 指導下於1949年在英國劍橋大學研製成功的 EDSAC它用了300個電子管,能存儲52 個34位的二進位數。
  • Verilog HDL基礎之:程序基本結構
    Verilog HDL是一種用於數字邏輯電路設計的語言。用Verilog HDL描述的電路設計就是該電路的Verilog HDL模型。Verilog HDL既是一種行為描述的語言,也是一種結構描述的語言。也就是說,既可以用電路的功能描述,也可以用元器件和它們之間的連接來建立所設計電路的Verilog HDL模型。
  • 你知道滑鼠之父是誰嗎?細說60位圖靈獎獲獎者(中)
    (圖左1)1983年獲獎,丹尼斯·裡奇與肯·湯普遜兩人發展C語言,同時發展了Unix作業系統,C語言發明人、UNIX之父。>1984年獲獎,讓他獲得圖靈獎的這句話就是他提出的著名公式:「算法+數據結構=程序」。這個公式對計算機科學的影響程度足以類似物理學中愛因斯坦的「E=MC^2」——一個公式展示出了程序的本質。
  • Linux下I2C總線EEPROM驅動程序設計方法
    其驅動程序一般都需要特別設計。  在I2C總線驅動程序體系結構中。使用數據結構Driver來表示I2C設備驅動,使用數據結構Client表示一個具體的I2C設備。而對於I2C總線  控制器,各種總線控制器在進行數據傳輸時採用的算法有好多種,使用相同算法的控制器提供的控制接口也可能不同。
  • 圖靈與香農以及他們的大時代《智慧財產權簡史》人物篇
    直到賈伯斯決定要修改蘋果公司的LOGO,韋恩才設計成一個被咬了一口的蘋果。艾倫·圖靈(1912年6月23日-1954年6月7日),英國數學家、邏輯學家、密碼學家,被稱為「計算機科學之父」,「人工智慧之父」。
  • 程序設計課程體系的維度與層次劃分及其教學實踐
    其次,根據建構主義學習理論,學生要掌握新知識必須和舊知識聯繫在一起才能被掌握,這就要求必須釐清程序設計類課程的層次結構,和認知的邏輯順序,如果課程的層次結構沒釐清,學生在構建知識體系時就不能把新知識和已有的舊知識很好地建構在一起。第三,存在盲目拔高層次的現象,例如,高校數據結構課的大量內容都在講一些比較高級的數據結構。
  • 大腦簡史:廣泛學習
    大腦簡史:廣泛學習
  • 王垠:程序設計裡的「小聰明」(1)
    有一些人聽了之後很讚賞,然後說他也很喜歡寫短小的代碼,接著就開始說 C 語言其實有很多巧妙的設計,可以讓代碼變得非常短小。然後我才發現,這些人所謂的「短小」跟我所說的「短小」,完全不是一回事。我的程序的「短小」,是建立在語義明確,概念清晰的基礎上的。在此基礎上,我力求去掉冗餘的,繞彎子的,混淆的代碼,讓程序更加直接,更加高效的表達我心中設想的「模型」。
  • 大腦簡史:孕育新生
    大腦簡史:孕育新生
  • 計算機的歷史——計算機之父 轉字 小黑盒
    但是當時工業技術水平極差,從設計繪圖到零件加工,都得自己親自動手,研製第一臺機器足足花費了10年時間。在他孤軍奮戰下造出的這臺機器,運算精度達到了6位小數,當即就演算出好幾種函數表。以後實際運用證明,這種機器非常適合於編制航海和天文方面的數學用表。然而,之後的事情才是他的悲劇所在,他獲得了英國財政部的支持,開始打造一臺20位精度的大型差分機。
  • LabVIEW程序設計模式(二)—基本狀態機模式
    狀態機是一種最為經典的程序設計模式,在LabVIEW 7.1(含)之前它幾乎統治了大部分的LabVIEW主程序。最基本的狀態機結構如圖 1所示。狀態是狀態機運行的經脈,在開始使用狀態機模式撰寫程序時需要將應用分為若干個狀態。
  • C語言-(第一章)程序設計和C語言
    什麼是電腦程式為了使計算機執行一系列的操作,必須實現編好一條條指令,輸入到計算機。所謂程序,就是一組計算機能識別和執行的指令。每一條指令使計算機執行特定的操作。例如,在C語言中,想計算和輸出3.5x6sin(3),只需寫出:printf("答案是:%f',3.5*6*sin(3));這種語言功能很強,且不依賴於具體機器,用它寫出的程序對任何型號的計算機都適用(或只需做很少的修改),它與具體的機器距離較遠,故稱為計算機高級語言。
  • 計算機之父是誰?
    你認他們誰是「計算機之父」呢?當然,你也可以認為他們做的都是「計算器Calculator」,還沒有計算機的基本結構呢。(2)巴貝奇Charles Babbage——通用計算機之父國內幾乎都沒聽說過巴貝奇這個人,但在國外卻是公認的計算機之父。
  • 西山徹的根在哪?
    image:Ifuun.com好了,那麼既然對 New Balance 和 WTAPS 都愛得那麼深,我有沒有機會入手這雙無論在情懷和設計都無可挑剔的「必入單品」呢?當然有,如果我肯掏出 5000 大元的話...現在上去某寶看看估計已經不止了吧,所以作為一個真正的老粉咱就不湊這個熱鬧了。