天天看點

程式設計語言史

程式設計語言有上千種,但是流行的不過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不喜歡花括号,于是決定發明一種沒有花括号的語言,然後又因為太喜歡英國肥皂劇《MontyPython飛行馬戲團》,于是,就把該語言命名為Python。

1993年

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

1994年

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

1995年

程式設計過程中存在很多不必要的瑣碎時間,導緻松本行弘不是很高興,他注意到其他程式員也不是很高興。于是,他建立了Ruby來讓程式員高興。最後,Ruby社群高興了,每個人也都高興了。

1995年

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

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

1996年

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

2001年

AndersHejlsberg重新發明了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年

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

2013年

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

2014年

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