程式語言簡史:有人討厭花括號,於是發明了Python

pythontab發表於2018-01-26

程式語言有上千種,但是流行的不過10來種,那些我們經常使用的程式語言都是誰在什麼時候創造出來的呢?Casper Beyer 為我們進行了整理。

程式語言簡史:有人討厭花括號,於是發明了Python

1800年


Joseph Marie Jacquard 教會了一臺織布機讀穿孔卡片,製造出了第一個高度多執行緒的處理單元。他的發明受到了預見天網(Skynet)誕生的紡織工人的強烈反對。


1842年


Ada Lovelace(英國詩人拜倫之女)為計算程式擬定“演算法”,寫作的第一份“程式設計流程圖”,被珍視為“第一位給計算機寫程式的人”。稍微有點不便的是當時還沒有計算機呢。


1936年


阿蘭·圖靈被稱為電腦科學之父,人工智慧之父。但英國法庭卻並不認可,還判處對他進行化學閹割。


女皇后來寬恕了他,但不幸的是當時他已經過世很久了。


1936年


Alonzo Church(演算法理論重要奠基人)發明了lambda運算元,跟圖靈生活在同樣的時代,但是他在時代的另一邊,也並沒有被女王閹割。


1957年


John Backus建立了FORTRAN語言,這真正是程式設計師使用的第一種語言。


1959年


Grace Hopper發明了第一門針對企業面向商業的程式語言,並且把這門語言叫做“面向商業的通用語言(common business-oriented language)”,簡稱COBOL。


1964年


John Kemeny 和 Thomas Kurtz 認為程式設計太難了,需要回歸本源,他們把自己的程式語言叫做BASIC。


1970年


Niklaus Wirth開發了多種語言,最後流行起來的是PASCAL。他喜歡開發語言。


他還發明瞭讓摩爾定律變得過時的Wirth定律(軟體變慢的速度比硬體變快的速度更快),因為軟體開發者會編寫出連大型主機也沒法跟上的臃腫軟體。


這在後來被證明是正確的——在Electron.js被發明出來後


1972年


Dennis Ritchie在貝爾實驗室上班上到無聊了,於是他決定寫出帶有花括號的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,但是沒人弄得清楚它的語法。


1987年


Larry Wall有宗教經驗,他成為了一名牧師,並且把Perl變成了一種教義。


1991年


Guido van Rossum不喜歡花括號,於是他發明了Python,語法選擇的靈感來源自Monty Python(巨蟒劇團)和Flying Circus(飛行馬戲團)。


1993年


Roberto Ierusalimschy和他的朋友認為自己需要一個巴西本地化的指令碼語言,在本地化期間發生了一個錯誤,這個錯誤會把指標從1而不是0開始計算,他們把這門語言叫做Lua。


1994年


Rasmus Lerdorf給他個人主頁的CGI指令碼做了一個模板引擎,後來他把自己的資料都放到了網上。


世界決定將這些東西用到一切,Rasmus於是匆忙地將一些資料庫繫結做了進去,並把這門語言叫做PHP。


1995年


Yukihiro Matsumoto不是很高興,因為他注意到其他程式設計師不是很高興。他建立了Ruby來讓程式設計師高興。在他建立了Ruby後“Matz”高興了,Ruby社群高興了,每個人都高興了。


1995年


Brendan Eich利用週末時間設計了一門語言,打算用這門語言來為全世界的每一個主流瀏覽器乃至於最終的Skynet都提供動力。


他先是找到了Netscape然後說這門語言叫做LiveScript,但在程式碼評審期間Java變得流行起來,所以他們決定最好還是用花括號,然後就把它更名為JavaScript。


結果表明,Java卻是一個會讓他們惹上麻煩的商標,JavaScript隨後更名為ECMAScript,但大家還是把它叫做JavaScript。


1996年


James Gosling發明了Java,第一們真正過於繁瑣的面嚮物件語言,在這裡設計模式完全壓倒了實用主義。


於是就誕生了超級有效的管理器提供商、容器提供商、服務提供商、單一管理器提供商模式。


2001年


Anders Hejlsberg重新發明了Java然後把它叫做C#,因為用C來程式設計感覺要比Java酷。每個人都喜歡這個新版本的Java,因為它完全不像Java。


2005年


David Hanselmeyer Hansen建立了一個web框架叫做Ruby on Rails,從此大家不再記得Ruby和Rails是兩個獨立的東西了。


2006年


John Resig為JavaScript寫了一個幫助庫,每個人都以為那是一門語言,從此從網際網路上拷貝貼上jQuery程式碼就成為了一門職業。


2009年


Ken Thompson 和 Rob Pike 決定做一門類似C那樣的語言,但要有更安全的裝置,還要有更好的賣相,並且把Gopher(囊鼠)作為吉祥物。


他們把這門語言成為Go,並把它做成開源然後另外賣Gopher商標的護膝和頭盔作為收入來源。


2010年


Graydon Hoare也想把語言做成C那樣,他稱之為Rust。每個人都要求馬上用Rust把軟體的每一塊都重寫一遍。Graydon希望做點更有亮點的事情,於是開始為蘋果開發Swift。


2012年


Anders Hjelsberg希望在web瀏覽器裡面寫C#,於是他設計出TypeScript,這東西其實是JavaScript,但裡面有了更多的Java的東西。


2013年


Jeremy Ashkenas想要像Ruby開發者一樣快樂,於是他建立了CoffeeScript,這東西編譯後像JavaScript但是樣子又更像Ruby。Jerry從來都沒有變得像Matz和Ruby開發者那樣真正快樂。


2014年


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


相關文章