每日最新頭條.有趣資訊

編程語言的“別樣”編年史

大數據文摘出品

編譯:狗小白、雲舟

代碼是一門語言,這門語言搭建了人與電腦溝通的橋梁。通過編寫代碼,人類可以“命令”電腦開發網頁、開發軟體、搭建遊戲... ...

這門語言並不是上帝的發明,它是前輩們發揮聰明才智創造出來的,前輩們的創造過程雖然充滿了有趣與巧合,但是並不神秘!本文就從1980年開始,帶你一覽編程語言發展的“別樣”歷史。

1800年,Joseph Marie Jacquard讓織布機學會了讀穿孔卡片,造出了第一台重度使用多線程處理單元的機器。

預見到天網(Skynet)誕生的織布工們激烈地反對該項發明。

Ada Lovelace

1842年,Ada Lovelace厭倦了貴族生活,於是在記事本上寫寫畫畫,而記事本上的這些內容被後世稱作第一個發布的電腦程式。

可惜當年沒有電腦,真是不巧。

1936年,Alan Turing啥都發明了,但英國法庭看他不順眼,還閹了他。後來女王免了他的罪名,雖然當時他已經死去幾百年了。

Alonzo Church

1936年,Alonzo Church和Turing一樣啥都發明了,但他生活在太平洋彼岸(也不是基佬)所以沒被女王人道主義。

John Backus

1957年,John Backus發明Fortran語言,也是“真正的編程者”使用的第一種電腦語言。

1959年,Grace Hopper發明了第一個面向企業、可用的編程語言,命名為“通用的業務導向語言”,簡稱為COBOL。

1964年,John Kemeny和Thomas Kurtz都覺得現有電腦語言的編程太難了,人們需要回歸基礎(basic),因而將他們發明的電腦語言稱之為BASIC。

1970年,Niklaus Wirth創造了Pascal和幾門其它語言(他就是這麽愛創造語言),他還創造了沃斯定律。相形之下摩爾定律就過時了,因為軟體開發者基於摩爾定律寫的軟體太臃雜了,連主機都帶不動。後來Electron.js的發明和基於它的抽象概念也證明了這一點。

Dennis Ritchie

1972年,Dennis Ritchie在貝爾實驗室裡對工作產生了厭倦,於是決定搞個帶大括號的C語言,並取得了巨大的成功。之後,他在語言中加入分段錯誤和其它一些對開發者友好的功能來增強C語言的生產力。

乾完這些工作後,離下班還有幾小時,所以他和貝爾實驗室的小夥伴們決定開發個程式來展示C語言,然後他們就造了個叫Unix的作業系統(紅紅火火恍恍惚惚)。

1980年,Alan Kay建立了一門叫做Smalltalk的面向對象的編程語言。這門語言裡,什麽都是對象,對象本身也是一個對象。可惜大家都沒時間思考閑聊(small talk)的意義。

Larry Wall

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之父)。

1993年,Roberto Ierusalimschy和他的朋友們覺得他們需要一門英國本地化的腳本語言,在本地化過程中出了個錯,使得本應該從0開始的計數從1開始了,然後他們把這個叫做Lua。

1994年,Rasmus Lerdorf為他個人主頁的CGI腳本弄了個模版引擎,並把這個檔案發布在網上了。世界各國人民欽定這個檔案哪哪都要用上,於是興奮炸裂的Rasmus又放了點額外的綁定數據庫上去,並稱之為PHP。

1995年,Yukihiro Matsumoto不是很開心,還發現其它碼農也不是很開心,所以他創建了Ruby語言讓大家開心開心。Ruby語言面世後,Matz挺開心的,Ruby社區也挺開心,大家都很開心(*^__^*)。

1995年,Brendan Eich花了個周末設計了門語言,希望能夠為世上所有的網頁瀏覽器賦能,最終也影響天網。他最開始去了網景,並稱自己設計的語言為LiveScript,但Java在代碼審查環節火了,於是他們決定用大括號才好,改名叫JavaScript。

後來Java一團糟,於是他們覺得這語言跟Java沾親帶故會出事,所以又在標準化時候把它改名叫ECMAScript,但人們還是按習慣稱之為JavaScript。

1996年,James Gosling創建了Java,第一個真正的過於詳細的、設計模式高於實用性的、面向對象的編程語言。這麽一個非常有效的、管理員供應商貨櫃供應商服務管理者單件模式管理者供應商模式就誕生了。

Anders Hejlsberg

2001年Anders Hejlsberg重建了Java,並稱之為C#,因為用C語言編程比Java要更酷。

大家都很愛這個Java新版本因為它一點也不像Java。

David Heinemeier Hansson

2005年,David Hanselmeyer Hansen創建了個叫做RubyonRails的網頁框架,人們從此把紅寶石與鐵路聯繫起來了。

2006年,John Resig給JavaScript寫了個助手庫,所有人都覺得這也是門電腦語言,給許多從網上複製粘貼jQuery代碼的人們解決了就業問題。

2009年,Ken Thompson和Rob Pike打算也造個類似於C語言但有更安全的設備的語言,而且用金花鼠當作吉祥物讓它更好推銷。

他們把這門語言叫做Go語言,也開源了,支持社區的資金來源就是賣金花鼠的周邊護膝和頭盔。

2010年,Graydon Hoare也想造一門類似C語言的語言,並稱之為Rust。人們表示,所有的軟體都應該現在立即馬上用Rust語言重寫一遍。但Graydon喜歡一閃一閃的亮晶晶而不是生鏽的(rust)東西,所以去Apple開發Swift去了。

2012年,Anders Hjelsberg想在網頁瀏覽器裡重寫C#,於是他設計了TypeScript,其實也是JavaScript的一種,但更像Java了。

2013年,Jeremy Ashkenas也想像Ruby開發者那麽開心,所以他搞了個CoffeScript,也就是JavaScript的編譯,但看起來更像Ruby。然鵝,Jeremy並沒有像Matz和Ruby開發者那樣開心。

2014年,Chris Lattner設計Swift的初衷是讓它別像Objective-C一樣,所以最後Swift看起來就像是Java了。

獲得更多的PTT最新消息
按讚加入粉絲團