【我們為什麼挑選這篇文章】這篇文章的重點是作者的 OS,像是:他不喜歡括號,所以發明了 Pyhton;為了開心工作,發明了 Ruby。你覺得貼切嗎 XDDD?(責任編輯:陳君毅)
1800 年
Joseph Marie Jacquard 教會了一台織布機讀穿孔卡片,製造出了第一個高度多線程的處理單元。他的發明受到了預見天網(Skynet)誕生的紡織工人的強烈反對。
《TO》編按:是不是有讓你想到某部電影?
1842 年
Ada Lovelace(英國詩人拜倫之女)對隨後被認定是全球第一個計算機程序的筆記本高貴和潦草感到厭煩,當時甚至還沒有電腦。
1936 年
圖靈發明了一切,但英國法庭卻並不認可,還判處對他進行化學閹割。女皇后來寬恕了他,但不幸的是當時他已經過世很久了。
《TO》編按:是不是又讓你想到某部電影?
1936 年
Alonzo Church(算法理論重要奠基人)跟圖靈一樣也發明了一切,但他是美國人,並沒有被閹割。
1957 年
John Backus 創建了 FORTRAN 語言,這是真正的程序員使用的第一種語言。
1959 年
Grace Hopper 發明了第一門針對企業面向商業的編程語言,並且把這門語言叫做「面向商業的通用語言(common business-oriented language)」,簡稱 COBOL。
1964 年
John Kemeny 和 Thomas Kurtz 認為編程太難了,需要回歸本源,他們把自己的編程語言叫做 BASIC。
1970 年
Niklaus Wirth 開發了多種語言,最後流行起來的是 P ASCAL。他喜歡開發語言。
他還發明了讓摩爾定律變得過時的 Wirth 定律(軟件變慢的速度比硬件變快的速度更快),因為軟件開發者會編寫出連大型主機也沒法跟上的臃腫軟件。這在後來被證明是正確的——在 Electron.js 被發明出來後。
1972 年
Dennis Ritchie 在貝爾實驗室上班上到太無聊,於是他決定寫出帶有花括號的 C 語言,這門語言取得了巨大成功。隨後他又增加了分段錯誤等對開發者友好的功能來輔助提高生產率。
折騰完這門語言之後他還有時間,於是他跟在貝爾實驗室的伙計決定給 C 語言做個演示程序,結果他們弄出了一個操作系統,UNIX。
1980 年
Alan Kay 發明了一門面向對象語言,他把這門語言叫做 Smalltalk,在 Smalltalk 中一切都是對象,甚至一個對象也是對象。沒人真正搞得清楚 small talk 是什麼意思。
1987 年
Larry Wall 有宗教經驗,他成為了一名牧師,並且把 Perl 變成了一種教義。
1983 年
Jean Ichbiah 注意到 Ada Lovelace 的程序從來都沒有實際運行過,決定以她的名字開發一門語言,但是這門語言還是沒有跑起來。
1986 年
Brac Box 和 Tol Move 決定在 Smalltalk 的基礎上製作一個 C 語言的不可讀版本,他們把這門語言叫做 Objective-C,但是沒人弄得清楚它的語法。
1983 年
Bjarne Stroustrup 回到未來,注意到 C 在編譯方面花的時間還不夠多,於是他把自己能想到的每一項功能都增加了進去,然後稱之為 C++。
每一個地方的程序員都接受了它,因為這樣他們在工作的時候找藉口看阿貓阿狗視頻和漫畫就顯得比較有誠意了。
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 每個人都高興了。
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,這東西編譯後像 JavaScrip t 但是樣子又更像 Ruby。Jerry 從來都沒有變得像 Matz 和 Ruby 開發者那樣真正快樂。
2014 年
Chris Lattner 做 Swift 的時候,其主要的設計目標就是不要成為 Objective-C,最後它看起來卻像 Java。
——
(本文經合作夥伴 36kr 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈編程語言簡史:有人不喜歡花括號,於是他發明了 Python〉。圖片來源:Daniel Iversen, CC Licensed。)
更多工程師關心的優質文章
工程師專屬的女僕咖啡廳:如果有可愛女僕陪我一起學 coding,我一定會更認真的啊!
學霸型工程師進步指南:寫「工作日記」,有效提升 coding 水準
學 coding 準沒錯!蘋果 CEO 庫克掛保證:比起學英文,我覺得學程式更重要
如果你平常關注人工智慧、fintech、區塊鏈、創新創業、數位行銷、技術開源、資安、物聯網、經營管理、科技小物等,加入《TO》跟我們一起關注社會、產業創新!
TechOrange 社群編輯、實習生持續徵才中
意者請提供履歷自傳以及文字作品,寄至 jobs@fusionmedium.com
來信主旨:【應徵】TechOrange _填上應徵職稱_:您的大名