讓你長見識:編程語言簡史

編程語言有上千種,但是流行的不過10來種,那些我們經常使用的編程語言都是誰在什麼時候創造出來的呢?一起來看看。

>>>>

1880年

約瑟夫·瑪麗·雅卡爾設計出人類歷史上首台可設計織布機--雅卡爾織布機,對將來發展出其他可編程機器(例如計算機)起了重要作用。當時,他的發明受到了Skynet絲織工的強烈反對。

1842年

阿達·洛夫萊斯(Ada Lovelace)因為厭倦了在筆記本上運算,她建立了循環和子程序概念,為計算程序擬定"演算法",遺憾的是當時並沒有計算機。

1936年

阿蘭·圖靈(Alan Turing)被稱為計算機科學之父、人工智慧之父,是計算機邏輯的奠基者,但卻因性傾向而遭到英國政府迫害化學閹割了他。女王伊麗莎白二世後來赦免了他,但不幸的是,當時他已經死了很久了。

1936年

阿隆佐·邱奇(Alonzo Church)是美國數學家,1936年發表第一份精可計算函數的定義,對演算法理論的系統發展做出巨大貢獻,和圖靈是同一個年代的人,但比圖靈幸運多了。

1957年

約翰·巴克斯(John Backus)創建全世界第一套高階語言FORTRAN,這是程序員真正意義上使用的第一種語言。

1959年

葛麗絲·穆雷·霍普(Grace Hopper)發明了第一個面向企業的面向業務的編程語言,為「面向商業的通用語言」簡稱 COBOL。

1964年

John Kemeny和Thomas Kurtz認為編程太困難了,他們需要回到基礎上來,於是,他們稱自己發明的編程語言為BASIC。

1970年

Niklaus Wirth很喜歡開發語言,於是開發了多種語言,最終,他發明的Pascal成為當時世界上最受歡迎的語言之一。他還提出了一句計算機領域人盡皆知的法則:演算法+數據結構=程序,這個公式對計算機科學的影響程度不亞於愛因斯坦的摩爾定律。

1972年

丹尼斯·里奇(Dennis Ritchie )在貝爾實驗室上班上到無聊的時候,他決定發明帶有花括弧的語言,於是C語言誕生了,最終還取得了巨大的成功。之後,他又添加了分段錯誤等友好的功能來提高工作效率。

倒騰出這門C語言後,他和貝爾實驗室的朋友心想要不做一個C的演示程序,於是,一個叫做Unix的操作系統又誕生了。

1980年

Alan Kay發明了面向對象的編程,並將其稱為Smalltalk,在Smalltalk中,所有的東西都是對象,甚至一個對象也是一個對象。所以壓根沒人真正搞得清楚 small talk 是什麼意思。

1983年

Jean Ichbiah注意到Ada Lovelace程序從來沒有真正運行,於是決定用她的名字開發一門語言,但語言最終還是沒有運行成功。

1983年

Bjarne Stroustrup 注意到C語言在編譯方面還不夠完美,於是把自己能想到的功能都加進去了,並將其命名為C ++。

程序員到處都採用它,這樣,他們看各種視頻和工作時讀xkcd漫畫的時候就有借口可找了。

1986年

Brac Box和Tol Move決定開發一個基於Smalltalk的C語言不可讀版本,他們稱之為Objective-C,然而卻沒有人能夠理解它的語法。

1991年

Guido van Rossum不喜歡花括弧,於是決定發明一種沒有花括弧的語言,然後又因為太喜歡英國肥皂劇《Monty Python飛行馬戲團》,於是,就把該語言命名為Python。

1993年

Roberto Ierusalimschy和朋友決定開發一個巴西本地的腳本語言,在本地化過程中,一個錯誤使得索引從1開始算起,而不是0,他們把這門語言命名為Lua。

1994年

Rasmus Lerdorf為了要維護個人網頁,在1994年,用C語言開發了一些CGI工具程式集,來取代原先使用的 Perl 程式。最初這些工具程式用來顯示 Rasmus Lerdorf 的個人履歷,以及統計網頁流量。後來又用C語言重新編寫,並將這些程式和一些表單直譯器整合起來,稱為 PHP/FI。

1995年

編程過程中存在很多不必要的瑣碎時間,導致松本行弘不是很高興,他注意到其他程序員也不是很高興。於是,他創建了 Ruby 來讓程序員高興。最後,Ruby 社區高興了,每個人也都高興了。

1995年

Brendan Eich 利用周末時間設計了一門語言,打算用這門語言來為全世界的每一個主流瀏覽器乃至於最終的 Skynet 都提供動力。他先是找到了 Netscape 然後說這門語言叫做 LiveScript,但在代碼評審期間 Java 變得流行起來,所以他們決定最好還是用花括弧,然後就把它更名為 JavaScript。

結果表明,命名帶有 Java 會讓他們惹上商標的糾紛,於是,JavaScript 就更名為 ECMAScript,但大家仍然把它叫做 JavaScript。

1996年

詹姆斯·高斯林(James Gosling)發明了Java,這是第一個過度冗長的面向對象編程語言,其中設計模式在實用主義方面幾乎為0。於是乎,就誕生了超級有效的管理器提供商、容器提供商、服務提供商、單一管理器提供商模式。

2001年

Anders Hejlsberg重新發明了Java並將其稱為C#,因為感覺C編程比Java更酷。每個人都喜歡這個新版本的Java,因為它完全不像Java。

2005年

David Hanselmeyer Hansen創建了一個名為Ruby on Rails的Web框架,從此大家都忘了Ruby和Rails原來是兩個獨立的語言了。

2006年

John Resig為JavaScript編寫了一個輔助程序庫,每個人都認為這是一種語言,並且從互聯網上複製和粘貼jQuery代碼。

2009年

肯·湯普森(Ken Thompson)和羅伯·派克(Rob Pike)決定開發一種像C這樣的語言,但是編譯速度要更快,更安全,並且把 Gopher(囊鼠)作為吉祥物。

最後,他們把這門語言命名為 Go,並把它做成開源,然後另外賣 Gopher 商標來作為收入來源。

2010年

Graydon Hoare也想要像C這樣的語言,於是開發出了Rust。Rust集齊了其他動態語言的重要特性。比如不需要管理內存,比如不會出現Null指針等,但Graydon想要更炫的東西,於是開始為蘋果開發Swift。

2012年

Anders Hjelsberg希望在Web瀏覽器中編寫C#,於是他設計出了TypeScript,它可以理解為是JavaScript的超集,但其中卻包含了更多的Java。

2013年

Jeremy Ashkenas希望像Ruby開發者一樣快樂,所以他創建了CoffeeScript,編譯成JavaScript,但看起來更像Ruby。不過,Jeremy從來沒有像Matz和Ruby開發者那樣真正開心過。

2014年

Chris Lattner開發Swift時的主要設計目標就是不要成為Objective-C,最終它看起來像Java。

推薦閱讀:

鍵盤鍵位修改及管理(Windows篇)
那些科技部提到的變革性技術關鍵科學問題
假期
如何學習新技術?
人工智慧可以擁有靈魂嗎?

TAG:計算機科學 | 軟體編程 | 編程語言 |