代碼是一門語言白华,這門語言搭建了人與計算機(jī)溝通的橋梁慨默。通過編寫代碼,人類可以“命令”計算機(jī)開發(fā)網(wǎng)頁弧腥、開發(fā)軟件厦取、搭建游戲... ...
這門語言并不是上帝的發(fā)明,它是前輩們發(fā)揮聰明才智創(chuàng)造出來的管搪,前輩們的創(chuàng)造過程雖然充滿了有趣與巧合虾攻,但是并不神秘铡买!本文就從1980年開始,帶你一覽編程語言發(fā)展的“別樣”歷史霎箍。
1800年漂坏,Joseph Marie Jacquard讓織布機(jī)學(xué)會了讀穿孔卡片景埃,造出了第一臺重度使用多線程處理單元的機(jī)器。
預(yù)見到天網(wǎng)(Skynet)誕生的織布工們激烈地反對該項發(fā)明樊拓。
Ada Lovelace
1842年筋夏,Ada Lovelace厭倦了貴族生活,于是在記事本上寫寫畫畫图呢,而記事本上的這些內(nèi)容被后世稱作第一個發(fā)布的計算機(jī)程序条篷。
可惜當(dāng)年沒有電腦,真是不巧蛤织。
1936年指蚜,Alan Turing啥都發(fā)明了乞巧,但英國法庭看他不順眼,還閹了他摊鸡。后來女王免了他的罪名绽媒,雖然當(dāng)時他已經(jīng)死去幾百年了。
Alonzo Church
1936年,Alonzo Church和Turing一樣啥都發(fā)明了猎提,但他生活在太平洋彼岸(也不是基佬)所以沒被女王人道主義。
John Backus
1957年梳杏,John Backus發(fā)明Fortran語言,也是“真正的編程者”使用的第一種計算機(jī)語言伞租。
1959年肯夏,Grace Hopper發(fā)明了第一個面向企業(yè)经宏、可用的編程語言犀暑,命名為“通用的業(yè)務(wù)導(dǎo)向語言”,簡稱為COBOL烁兰。
1964年沪斟,John Kemeny和Thomas Kurtz都覺得現(xiàn)有計算機(jī)語言的編程太難了广辰,人們需要回歸基礎(chǔ)(basic),因而將他們發(fā)明的計算機(jī)語言稱之為BASIC主之。
1970年择吊,Niklaus Wirth創(chuàng)造了Pascal和幾門其它語言(他就是這么愛創(chuàng)造語言),他還創(chuàng)造了沃斯定律槽奕。相形之下摩爾定律就過時了几睛,因為軟件開發(fā)者基于摩爾定律寫的軟件太臃雜了,連主機(jī)都帶不動粤攒。后來Electron.js的發(fā)明和基于它的抽象概念也證明了這一點(diǎn)所森。
Dennis Ritchie
1972年焕济,Dennis Ritchie在貝爾實驗室里對工作產(chǎn)生了厭倦,于是決定搞個帶大括號的C語言盔几,并取得了巨大的成功晴弃。之后,他在語言中加入分段錯誤和其它一些對開發(fā)者友好的功能來增強(qiáng)C語言的生產(chǎn)力逊拍。
干完這些工作后上鞠,離下班還有幾小時,所以他和貝爾實驗室的小伙伴們決定開發(fā)個程序來展示C語言顺献,然后他們就造了個叫Unix的操作系統(tǒng)(紅紅火火恍恍惚惚)旗国。
Alan Kay
1980年能曾,Alan Kay建立了一門叫做Smalltalk的面向?qū)ο蟮木幊陶Z言。這門語言里肿轨,什么都是對象寿冕,對象本身也是一個對象〗放郏可惜大家都沒時間思考閑聊(small talk)的意義驼唱。
Larry Wall
1987年玫恳,Larry Wall經(jīng)歷了一次宗教體驗辨赐,成為了一名傳教者,他傳播的教義就是Perl京办。
Jean David Ichbiah
1983年惭婿,Jean Ichbiah發(fā)現(xiàn)Ada Lovelace的程序就從來沒真正運(yùn)行過不恭,于是決定以她名字創(chuàng)建一門語言。
但她的語言也沒運(yùn)行過财饥。
1986年换吧,Brac Box和Tol Move決定要創(chuàng)建一門基于Smalltalk、不可讀版本的C語言钥星,并稱之為Objective C語言沾瓦,但沒人看得懂這門語言的語法。
Bjarne Stroustrup
1983年漓滔,Bjarne Stroustrup從未來穿越過去编饺,發(fā)現(xiàn)C語言沒給編譯留足時間,于是他把所有能夠想到的功能加進(jìn)去了响驴,并命名為C++透且。幾乎所有的編程者都在使用它,這樣他們就有理由在工作的時候擼貓片和看科學(xué)松鼠會了豁鲤。
Guido van Rossum
1991年琳骡,Guido van Rossum寫了本關(guān)于蛋蛋和火腿的食譜(Python之父)锅论。
1993年,Roberto Ierusalimschy和他的朋友們覺得他們需要一門英國本地化的腳本語言楣号,在本地化過程中出了個錯最易,使得本應(yīng)該從0開始的計數(shù)從1開始了,然后他們把這個叫做Lua炫狱。
Rasmus
1994年视译,Rasmus Lerdorf為他個人主頁的CGI腳本弄了個模版引擎嬉荆,并把這個文件發(fā)布在網(wǎng)上了。世界各國人民欽定這個文件哪哪都要用上酷含,于是興奮炸裂的Rasmus又放了點(diǎn)額外的綁定數(shù)據(jù)庫上去鄙早,并稱之為PHP汪茧。
Yukihiro Matsumoto
1995年陆爽,Yukihiro Matsumoto不是很開心,還發(fā)現(xiàn)其它碼農(nóng)也不是很開心扳缕,所以他創(chuàng)建了Ruby語言讓大家開心開心慌闭。Ruby語言面世后,Matz挺開心的躯舔,Ruby社區(qū)也挺開心驴剔,大家都很開心(__)。
Brendan Eich
1995年,Brendan Eich花了個周末設(shè)計了門語言惜互,希望能夠為世上所有的網(wǎng)頁瀏覽器賦能布讹,最終也影響天網(wǎng)。他最開始去了網(wǎng)景训堆,并稱自己設(shè)計的語言為LiveScript描验,但Java在代碼審查環(huán)節(jié)火了,于是他們決定用大括號才好坑鱼,改名叫JavaScript膘流。
后來Java一團(tuán)糟,于是他們覺得這語言跟Java沾親帶故會出事鲁沥,所以又在標(biāo)準(zhǔn)化時候把它改名叫ECMAScript呼股,但人們還是按習(xí)慣稱之為JavaScript。
James Gosling
1996年,James Gosling創(chuàng)建了Java允扇,第一個真正的過于詳細(xì)的缠局、設(shè)計模式高于實用性的、面向?qū)ο蟮木幊陶Z言蔼两。這么一個非常有效的甩鳄、管理員供應(yīng)商集裝箱供應(yīng)商服務(wù)管理者單件模式管理者供應(yīng)商模式就誕生了。
Anders Hejlsberg
2001年Anders Hejlsberg重建了Java,并稱之為C#,因為用C語言編程比Java要更酷揖赴。
大家都很愛這個Java新版本因為它一點(diǎn)也不像Java馆匿。
David Heinemeier Hansson
2005年渐北,David Hanselmeyer Hansen創(chuàng)建了個叫做RubyonRails的網(wǎng)頁框架,人們從此把紅寶石與鐵路聯(lián)系起來了铭拧。
John Resig
2006年搀菩,John Resig給JavaScript寫了個助手庫呕臂,所有人都覺得這也是門計算機(jī)語言,給許多從網(wǎng)上復(fù)制粘貼jQuery代碼的人們解決了就業(yè)問題肪跋。
Ken Thompson
2009年州既,Ken Thompson和Rob Pike打算也造個類似于C語言但有更安全的設(shè)備的語言谜洽,而且用金花鼠當(dāng)作吉祥物讓它更好推銷。
他們把這門語言叫做Go語言吴叶,也開源了阐虚,支持社區(qū)的資金來源就是賣金花鼠的周邊護(hù)膝和頭盔。
2010年晤郑,Graydon Hoare也想造一門類似C語言的語言敌呈,并稱之為Rust贸宏。人們表示造寝,所有的軟件都應(yīng)該現(xiàn)在立即馬上用Rust語言重寫一遍。但Graydon喜歡一閃一閃的亮晶晶而不是生銹的(rust)東西吭练,所以去Apple開發(fā)Swift去了诫龙。
2012年,Anders Hjelsberg想在網(wǎng)頁瀏覽器里重寫C#鲫咽,于是他設(shè)計了TypeScript签赃,其實也是JavaScript的一種,但更像Java了分尸。
2013年锦聊,Jeremy Ashkenas也想像Ruby開發(fā)者那么開心,所以他搞了個CoffeScript箩绍,也就是JavaScript的編譯孔庭,但看起來更像Ruby。然鵝,Jeremy并沒有像Matz和Ruby開發(fā)者那樣開心圆到。
Chris Lattner
2014年芽淡,Chris Lattner設(shè)計Swift的初衷是讓它別像Objective-C一樣马绝,所以最后Swift看起來就像是Java了。