計算機程式設計領域最偉大的20個發明
概述:本文收集整理了計算機程式設計領域的二十個突破歷史的發明。
1 第一臺計算機:“差分機”(1821年)
“差分機”是1821年由英國政府委託科學家巴貝奇設計而成的,這臺機器能提高乘法速度和改進對數表等數字表的精確度。但由於其過高的設計成本,其後續的大型差分機的製作最後以失敗而告終。
2 第一臺通用計算機:“分析機”(1834年)
“分析機”也是一個機械計算機,它輸入方式為打孔紙帶,紙帶上包含了程式與資料。這是來自巴貝奇的另外一個想法,可惜最後也是以失敗而告終。
3 第一個計算機程式:計算伯努利數的演算法(1841 - 1842年)
世界上第一個程式設計師Ada Augusta(另外她還是英國著名詩人拜倫的女兒)在1841年使用巴貝奇的分析機翻譯義大利數學家Luigi Menabrea的筆記。在翻譯過程中,她對這臺機器產生濃厚興趣並留下了她的翻譯筆記。 筆記之一——note G,記載了通過分析機計算伯努利數的演算法,這被公認為是第一個計算機程式。
4 第一個能運轉的可程式設計計算機:Z3(1941年)
Konrad Zuse(第一臺電子計算機的發明者)發明了可運轉的機械計算機Z1,但是它一次只能運轉幾分鐘,隨後,他使用不同的技術發明了Z2和Z3。Z3是程式和資料儲存在外部穿孔帶的電磁式計算機,這是德國政府的一個祕密工程,被德國飛機研究所使用,機器原型在1943年柏林的大轟炸中毀壞。
5 第一臺電子計算機:Atanasoff-Berry計算機(ABC)(1942年)
這臺機器是由John Vincent Atanasoff和 Clifford Berry製造的,所以被命名為Atanasoff-Berry計算機或者簡稱為ABC,它被用於尋找線性方程組的解。這是第一個使用二進位制來表示資料,通過電子開關來代替機械的計算機,但是這臺機器無法程式設計。
6 第一臺可程式設計的計算機:巨人(Colossus )(1943年)
“巨人”是由Tommy Flowers製造的,它被用於二戰中幫助英國破譯德國的由洛倫茲密碼加密的訊息。它是由電子開關和插塞來程式設計的,使得破譯密碼的時間由過去的幾周縮短到幾個小時。
7 第一臺通用的可程式設計計算機:ENIAC(1946年)
ENIAC是由美國陸軍資助,由賓夕法尼亞大學摩爾電氣工程學院的John Mauchly等4人開發的。ENIAC寬150英尺,可以進行復雜的變成操作,如迴圈。它的程式設計是通過電子開關和電纜來完成的,輸入依靠卡片閱讀器而輸出依靠卡片穿孔機。它協助了世界上第一顆氫彈的研製。
8 第一個軌跡球:(1946/1952年)
為什麼關於第一個軌跡球的年份會有2個?我來解釋一下。
第一個年份:Ralph Benjamin在1946年研究用於低空飛行飛機的監控系統時建立了第一個軌跡球。他描述的發明是使用一個球來控制螢幕上游標的x - y座標。這項設計在1947年申請了專利,但從未對外公佈。這個發明被認為是軍事機密,被用於代替操作杆。
第二個年份:Tom Cranston和他的公司在1952年開發了用於加拿大海軍DATAR系統的世界第一個 軌跡球。這個軌跡球的設計模擬了在“空氣軸承”中加拿大保齡球的旋轉。(見下圖)
9 第一個可儲存程式的計算機:SSEM(1948年)
為了克服延遲線儲存器的缺點,Frederic C. Williams和Tom Kilburn 發明了第一個基於標準CRT的隨機存取數字儲存裝置。SSEM被用於完成儲存裝置的實際儲存,輸入的程式為使用32個開關的二進位制形式,輸出使用CRT。
10 第一個高階程式語言:Plankalkül (1948年)
雖然自1943年以來,Konrad Zuse(第一臺電子計算機的發明者)一直在研究Plankalkül ,但他只在1948年發表了一篇關於這門語言的論文。不幸的是這篇論文並沒有得到太多的關注。一直到接近三十年之後才由Joachim Hohmann論文中提到可以在編譯器中使用它進行編譯。
11 第一個彙編程式:EDSAC計算機的“初始訂單”(1949年)
彙編程式是一個能夠將低階的助記符轉化為數字表達(機器語言)。EDSAC計算機的“初始訂單”是第一個這樣的系統。它被用於組裝從紙帶輸入到記憶體的程式並執行輸入。這個程式使用助記符代替機器語言,通過將象徵性的低水平程式程式碼轉化為機器語言完成了“初始訂單”這第一個彙編程式。
12 第一臺個人計算機:“Simon”(1950年)
Edmund Berkeley的“Simon”是第一個能夠執行四種操作:加法、邏輯非、大於和選擇的數字計算機。它依靠程式寫在紙上的打孔紙來進行輸入,而輸出是通過五盞燈來完成。
13 第一個編譯器: 用於UNIVAC 1的 A-0 (1952年)
編譯器是可將高階語言轉換成機器程式碼的程式。A-0系統是程式設計師中的傳奇Grace Hopper女士建立的,它能夠將指定程式以子程式序列和引數的形式轉換為機器語言。A-0系統後來演變為向所有人釋出的A-2,並公佈了其原始碼,這可能是真正意義上的第一個開源軟體。
14 第一個自動編譯器:Glennie的Autocode(1952年)
自動編譯器是處理高階程式語言的編譯器。1952年,Alick E. Glennie利用自己在曼徹斯特大學的課餘時間發明了一個名為AUTOCODE的程式設計系統,一個未能成型的編譯器。
15 第一個實時圖形顯示計算機:IBM 公司的AN/FSQ-7 (1951年)
AN/FSQ-7來自於最早的顯示實時輸出的計算機Whirlwind,它成為了美國空軍防禦系統SAGE的生命線——能夠顯示跟蹤的目標,並自動顯示哪些防禦工事在範圍以內。AN / FSQ-7擁有100個系統控制檯,下圖為其中之一:
16 第一個被廣泛使用的高階程式語言:FORTRAN(1957年)
你可以在教科書上找到第一門高階程式語言FORTRAN 的介紹。這是由John W. Backus,一個不愛寫程式的年輕人想出來的,他決定建立一個程式設計系統使得程式設計的過程更加容易。使用FORTRAN程式設計可以大大減少執行計算機所需要的程式設計語句。到1963年,FORTRAN的編譯器已經超過了40個。
17 第一個滑鼠 (1964年)
1964年,坐在計算機圖形學會議上思考的Douglas Engelbart萌生了一個關於老鼠的想法。他製造了一個有著兩個滑輪的裝置(一個垂直滑,一個水平滑),可以用來移動螢幕上的游標。而這個裝置的原型(如下圖)是由他的同事首席工程師Bill English 製造出來的。但是English和Engelbart都沒有收到這項專利的版權,這項發明的版權屬於他們的僱主SRI公司。
18 第一個商用臺式電腦 Programma 101(1965年)
Programma 101又被稱為“Perottina”,世界上第一個商業電腦。它可以執行加、減、乘、除、平方根、絕對值和分數。這個功能強大的電腦,售價為3200美元(1965年的3200美元大家可以想象下能當現在多少錢),賣出了44000臺。Perottina是由Pier Giorgio Perotto發明,義大利製造商Olivetti生產製造的。
19 第一個觸控式螢幕(1965年)
這看起來沒什麼功能的螢幕是世界上第一個觸控式螢幕。它是一個電容觸控板,它沒有壓力靈敏度,且只支援單點觸控。這個技術被英國航空運輸控制檯一直用到二十世紀九十年代。
20 第一個物件導向程式語言:Simula(1967年)
基於 C. A. R. Hoare的類結構概念,Ole-Johan Dahl和Kristen Nygaard 完善了他們的SIMULA程式語言,包含進了物件、類和子類。這使得1967年的SIMULA 成為了第一個物件導向的程式語言。
本文翻譯自hongkiat.com,轉載請註明本文地址。
相關文章
- 最偉大的計算機程式設計師是如何誕生的?—解讀高德納計算機程式設計師
- 歷史上最偉大的12位程式設計師程式設計師
- 歷史上最偉大的 12 位程式設計師程式設計師
- 最偉大的計算機程式設計師是如何誕生的?——解讀高德納(Donald E.Knuth)計算機程式設計師
- 偉大程式設計師的十個特質程式設計師
- JAVA平臺是最偉大的發明!Java
- 《計算機程式設計藝術》出版說明計算機程式設計
- 偉大的女程式設計師們程式設計師
- 成為偉大程式設計師的 10 個要點程式設計師
- 如何成為一個偉大的 JavaScript 程式設計師JavaScript程式設計師
- 如何成為偉大的程式設計師?程式設計師
- 推薦閱讀Java併發性領域程式設計最值得一讀的力作《JAVA併發程式設計實踐》Java程式設計
- 偉大程式設計師的十大特質程式設計師
- 良心之作,計算機領域必看書籍計算機
- 世界五大計算機程式設計師計算機程式設計師
- 為什麼程式設計師是一個偉大的職業程式設計師
- 涵蓋最廣的計算機程式設計學習資料計算機程式設計
- 程式設計師的計算機配置程式設計師計算機
- 前端開發-領域驅動設計前端
- DDD領域驅動設計:領域事件事件
- 我們身邊偉大的女程式設計師們程式設計師
- 利用偉大的原則設計一個糟糕的網站網站
- 計算機程式設計藝術計算機程式設計
- 程式設計師喝酒的計算機文化程式設計師計算機
- 智慧領域物件設計物件
- 計算機、數學、運籌學等領域的32個重要演算法計算機演算法
- 領域驅動設計與敏捷開發敏捷
- Linux統治超級計算領域的九個理由Linux
- 改變計算技術的偉大演算法演算法
- 計算機視覺大規模爆發,6大細分領域將撐起725億元市場計算機視覺
- 為什麼程式設計師也能成為偉大的CEO程式設計師
- 程式設計領域裡有哪些是共通的地方?程式設計
- 關於領域驅動設計的函式程式設計思考 - Naveen Negi函式程式設計
- 計算機程式設計心得總結計算機程式設計
- 10 早期計算機如何程式設計計算機程式設計
- 計算機區域網計算機
- 領域驅動設計戰術模式--領域事件模式事件
- 戲說領域驅動設計(廿五)——領域事件事件