極簡編程語言史,在很久很久以前……
接收程序員的技術早餐
作者|Casper Beyer
譯者|薛命燈
填空題:(___)是最好的語言。
1800 年
Joseph Marie Jacquard 在梭織機上使用穿孔卡片,創建出第一個「重量級」的多任務處理單元。
1842 年
Ada Lovelace 在筆記本上寫了一些計算機指令一樣的東西,後來被公認是世界上的第一道計算機程序,只是那時計算機還沒有問世。
1936 年
Alan Turing 發明了圖靈機,但因為性取向問題,遭到英國法院的「化學閹割」,直到他去世半個多世紀後,英國女王才赦免了他。
1936 年
Alonzo Church 是另一點陣圖靈機大師,不過他沒有與 Alan 類似的遭遇。
1957 年
John Backus 發明了 FORTRAN,這是第一門真正意義上有程序員在使用的編程語言。
1959 年
Grace Hopper 發明了第一門企業級的編程語言,叫作「common business-oriented language」,簡稱 COBOL。
1964 年
John Kemeny 和 Thomas Kurtz 認為編程語言應該盡量保持簡單,所以把他們的編程語言叫作 BASIC。
1970 年
Niklaus Wirth 讓 Pascal 與其他編程語言並駕齊驅。他還提出了 Wirth 定律,這一定律給摩爾定律帶來了麻煩,因為軟體膨脹的速度太快,即使是大型機也無法趕上軟體變化的速度。後來出現的 Electro.js 正好印證了這一定律。
1972 年
Dennis Ritchie 在貝爾實驗室開發出了帶有花括弧的 C 語言,在大獲成功之後,他又陸續添加了分段錯誤和其他對開發者友好的特性,用以提升開發效率。他和同事為了給 C 語言開發一個示常式序,最終促成了 Unix 操作系統的誕生。
1980 年
Alan Kay 發明了面向對象編程語言 Smalltalk。在 Smalltalk 中,一切皆對象,就連對象本身也是對象。
1983 年
Jean Ichbiah 發現,Ada Lovelace 在紙上所寫的程序從來沒有被運行過,於是他發明了一門語言,並用 Ada 的名字命名,但實際上,最後仍然沒有運行起來。
1983 年
Bjarne Stroustrup 發現 C 語言的編譯速度不夠快,他在 C 語言中加入了所有他能夠想到的特性,於是 C++ 誕生了。
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 開始算起。他們把這門語言叫作 Lua。
1994 年
Rasmus Lerdorf 為他的個人主頁開發了一個模板引擎,並在網上公開發布出來。這個引擎後來廣泛流傳開,於是 Rasmus 又發布了與一些資料庫相關的特性,並把它叫作 PHP。
1995 年
松本行弘對其他編程語言不爽,他也注意到了一些程序員也不是那麼喜歡其他編程語言。於是他開發了 Ruby,希望這些不爽的程序員能夠喜歡它。
1995 年
Brendan Eich 在一個周末設計出了一門語言,希望為世界上的每一個瀏覽器帶來動力。他最初跑到網景公司(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 的語言,不過要比 C 語言更安全、能夠佔領更大的市場,並以囊地鼠作為吉祥物。他們把這門語言叫作 Go,並將其開源,同時還出售囊地鼠護膝和頭盔。
2010 年
Graydon Hoare 也想開發一門類似 C 的語言,並把它叫作 Rust。後來,人們要求把 C 語言開發的軟體全部用 Rust 重寫,但 Graydon 想要更酷的東西,於是加入了蘋果的 Swift 項目。
2012 年
Anders Hjelsberg 想要在 Web 瀏覽器上運行 C# 代碼,於是設計了 TypeScript——包含 Java 代碼的 JavaScript。
2013 年
Jeremy Ashkenas 希望像 Ruby 程序員那麼開心,他開發了 CoffeeScript,可以編譯成 JavaScript,但看起來更像是 Ruby,但其實 Jeremy 從來沒有真正變得像 Ruby 程序員那麼開心。
2014 年
Chris Lattner 想要把 Swift 設計成與 Objective-C 截然不同的語言,但結果看起來更像是 Java。
※數據轉換:從單體式應用到微服務的低風險演變
※從Netflix的混世猴子談一線架構師的漫長技術棧規劃
TAG:InfoQ |