計算機編程領域最偉大的20個發明

2021-02-08 人工智慧學家
csdn

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 成為了第一個面向對象的程式語言。

相關焦點

  • 語錄:101條偉大的計算機編程名言
    (微軟的高級副總裁布萊恩·瓦倫蒂尼這樣描述作業系統的安全狀況,2003)18、「微軟有出了個新版本,Windows XP,據大家說是'有史以來最穩定的Windows', 對我而言, 這就好像是在說蘆筍是'有史以來發音最清脆的蔬菜一樣' 「(Dave Barry)網際網路19、「網際網路?那個東西還在嗎?」
  • 人類文明史上偉大的10大發明:馬桶是人類最偉大發明,沒有之一!
    人類文明史上最偉大的10大發明:馬桶是人類最偉大發明,沒有之一!最不重要的是農藥,也沒有之一!這是一個比較偏向於個人主觀的意味,許多人也許會同意這個觀點,同樣也有持不同意見的。我選擇了我認為最偉大的現代發明,並從「最重要」到「最不重要」列出它們。
  • 外媒評出的人類歷史上最偉大20發明,中國「五大發明」上榜
    在外媒Big Think評出的人類史上最偉大20發明中,中國有5大發明上榜,但其中一個卻被歸到了德國人頭上。下面我們從第20名看起。#20. 個人計算機,1970年代發明後極大拓展了人類的能力邊界,後又經蘋果、微軟和IBM的不斷完善,才有了現在大家在用的計算機。#19. 半導體,電器和數碼時代的基礎。半導體主要由矽製成,這也是「矽谷」的由來。
  • 亞里斯多德是如何發明計算機的
    香農的論文發表後,研究人員在計算機的物理層方面取得了長足進步,其中包括貝爾實驗室的威廉·肖克利(William Shockley)及其同事在1947年發明了電晶體。電晶體可謂香農繼電器的大幅改進版,也是在物理層進行布爾運算編碼的最著名方式。在之後的70年裡,半導體行業在越來越小的空間中集成了越來越多的電晶體。
  • 盤點計算機科學領域的大佬們,身為程式設計師的你聽過幾個?
    計算機科學包含很多分支領域;有些強調特定結果的計算,比如計算機圖形學;而有些是探討計算問題的性質,比如計算複雜性理論;還有一些領域專注於怎樣實現計算,比如程式語言理論是研究描述計算的方法,而程序設計是應用特定的程式語言解決特定的計算問題,人機互動則是專注於怎樣使計算機和計算變得有用、好用,以及隨時隨地為人所用。計算機科學中的理論部分在第一臺數字計算機出現以前就已存在。
  • 近50 年來最具影響力的 10 種程式語言,都是誰發明的?
    儘管大家都很熟悉那些比較流行的程式語言的發展歷史,如James Gosling是Java之父,但並不是每個開發人員都知道是誰發明了Perl,Pascal,Lisp或Erlang。今天文摘菌帶大家扒一扒過去的五十年在軟體開發領域被列為最具影響力的十大程式語言及其它們背後的開發者,希望可以站在巨人的肩膀上一睹各種程式語言的風採,在每種語言文末都有免費課程推薦給大家學習。
  • 除了編程,中小學領域計算機科學教育應該學什麼?
    另一新主張是人人都該學習編程 (Programming,Coding) 的說法,甚至美國總統與知名女星都為此說法發聲,這幾年下來讓學習編程快變成陳腔濫調了,事實上,此主張倒有其根據,根據美國勞工統計局預估,2020 年美國將約有 140 萬個計算機科學 (Computer Science,CS) 領域的職缺,但是只有約 40 萬個計算機科學本科畢業生,而 STEM 領域的新職缺有三分之二是計算機科學相關領域
  • 那些計算機界的偉大女性
    據美國的研究數據,計算機專業人員中女性的比例1990年是35.2%,到2000年已經下降到了28.4%。而攻讀計算機本科課程的女性,從1980年代中期的近40%(很高啊),下降到了最近的不足20%。為了緩解這種趨勢,歐美各國已經有不少組織在致力於吸引 女性重歸計算機科學。然而,大家可能不太知道的是,計算機的早期,尤其是編程方面,女性曾經起到過至關重要的作用。
  • 有人問:截止目前,人類最偉大的發明是什麼?
    人類歷史上,不缺乏偉大的發明,這些發明推動著人類文明的進步;處在不同領域的人,或許會有不同的答案,以下只是個人的看法。電力人類文明的發展離不開科學,科學當中一項極為重要的發明——發電機,或者說「電力」,自從英國科學家法拉第,在1831年發明第一臺發電機以來,電力就成為人類社會中不可缺少的事物。
  • 計算機的發明,離不開這些數學家的奠基(6k字)
    PDF計算機的發明,離不開這些數學家的奠基。關鍵詞:計算機(computer),數學家(mathematician)。QinlongGEcai微信被封,轉向自用、科普文章、學術論文OAJ電子刊免費開放獲取。計算機是一個計算的工具,人們發明計算機的目的是為了加快計算速度,減輕人的工作負擔和減少計算錯誤而驅動的。最有代表性的一個例子就是法國數學家帕斯卡,他的父親是一個稅務官員,工作很辛苦,責任很重。
  • 在計算機軟體領域 C語言之父和Linux之父誰更偉大
    而丹尼裡奇開發了兩大項目,可以說是計算機史上獨一無二的。 事實上,C語言在各種軟體程序,嵌入式系統開發,作業系統中,使用是最廣泛的。同時,C語言也影響了大多數現代主流的程式語言。 從我們在一起的第一刻起,她就像是最適合我的女人。 經過了幾個月的約會,我和我的貓蘭迪就搬到她的公寓房間去了。 在搬進去後的最初兩周,我甚至都沒有動過一下我的計算機。 不算上我服兵役的時間,這兩周是我自從我十歲那一年坐在外祖父膝蓋上擺弄計算機以來 , 離開計算機最長的一段時間了。 不必詳細描述,但這確實是除去服兵役之外我離開計算機最長的時間的記錄了。
  • 這可能是最全的計算機程式語言列表了,你知道多少?
    PostScript它主要在桌面出版領域中使用,被稱為頁面描述語言。它是一種基於堆棧的動態程式語言,由美國計算機科學家 John Warnock 和計算機科學領域著名人物 Charles Geschke 開發。這些開發人員後來一起創立了非常著名的 Adobe Systems 公司。
  • 簡談計算機和程式語言的發展史
    自然語言能夠承載的信息非常豐富,越是高級的程式語言越接近於自然語言。不同的自然語言,有其獨特的語法規則。這些年,計算機科學家們一直研究如何能夠讓計算機更好的識別、理解、模擬自然語言,這是人工智慧的一個研究方向領域。
  • 什麼是計算機編程?
    於是我開始做一些研究,這些是我當時搜索時的一些詞句: 什麼是計算機編程?什麼是軟體?…… 在谷歌上有超過 6 億個搜索結果,這有點像掉進一個兔子洞 —— 有點複雜,讓人摸不著頭腦。我想把針對初學者的計算機編程和軟體開發放在一起介紹,從計算機編程開始,到學習計算機程式語言,接著我會談到軟體和軟體開發,最後,我會談談計算機編程當前的趨勢和未來。如果你正在考慮進入編程領域,或者只是對學習編程感興趣,這些將為你提供一個沒有過多技術用語的概要介紹。
  • 科普必讀丨計算機編程的歷史演進:用 50 種程式語言告訴你!
    現在,無論是成年人還是孩子,學習編程都是非常HOT的,畢竟身處信息化爆炸的年代,這已然成為必備的社會技能,且將持續發展。程式語言(programming language),是一種能夠控制計算機(或計算設備)的行為的人工語言。程式語言通過一套詞彙和語法規則,定義出結構和語義,用來向計算機(或計算設備)發出指令從而執行特定的任務。
  • 計算機編程的歷史演進:用 50 種程式語言寫「Hello,World!」程序
    END PROGRAM HelloLisp 是最古老的程式語言家族,它既是命令式語言,又是函數式語言。Lisp 最初創建於 1958 年,當時是作為展示程序的實用模型發布的。在 20 世紀 70 年代和 80 年代,Lisp 家族成為人工智慧領域非常受歡迎的語言。以下是用 Lisp 編寫的「Hello, World!」
  • 最受歡迎的25本計算機編程書籍
    作為編程領域的佼佼者,《代碼清潔度(英文版)》作者給出了一系列行之有效的整潔代碼操作實踐。這些實踐在《代碼清潔度(英文版)》中體現為一條條規則(或稱「啟示」),並輔以來自現實項目的正、反兩面的範例。只要遵循這些規則,就能編寫出乾淨的代碼,從而有效提升代碼質量。
  • 【世界上最全的程式語言大集合】計算機各程式語言介紹
    它是一種被標準化的交流技巧,用來向計算機發出指令。一種計算機語言讓程式設計師能夠準確地定義計算機所需要使用的數據,並精確地定義在不同情況下所應當採取的行動。最早的程式語言是在電腦發明之後產生的,當時是用來控制提花織布機及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的程式語言,而且每年仍有新的程式語言誕生。
  • 計算機程式語言的發展簡史,人工智慧與雲計算程式語言!
    學習一兩門計算機程式語言也如當初學習英文一樣的火熱,隨著人工智慧AI和雲計算的不斷發展,Python語言和Scala語言已經成為這兩個領域裡面最為火熱的程式語言了,可以預知未來學習計算機程式語言的人也一樣會如同學習英文一樣的成為一種新常態,並且成為一種穩定的常態。以下筆者將以自己的學習認知,簡單的闡述一下計算機程式語言的發展。
  • 盤點AI 領域最具影響力人物,哪些是你心中的「眾望所歸」?
    圖靈英格蘭銀行行長 Mark Carney 曾這樣評價圖靈:「作為計算機科學和人工智慧之父,以及戰爭英雄,艾倫·圖靈的貢獻是偉大的,他是開路的先鋒。圖靈就像是巨人的肩膀,為很多後來者提供了更高的發展平臺。因為這些偉大的貢獻,他即將登上 50 英鎊的新鈔,取代蒸汽機先驅詹姆斯·瓦特和馬修·博爾頓,他們也曾是工業革命的先驅。」