鏈接:https://medium.com/@caspervonb/a-brief-totally-accurate-history-of-programming-languages-cd93ec806124
編程語言有上千種,但是流行的不過10來種,那些我們經(jīng)常使用的編程語言都是誰在什么時(shí)候創(chuàng)造出來的呢?一起來看看。
1880年
約瑟夫·瑪麗·雅卡爾設(shè)計(jì)出人類歷史上首臺(tái)可設(shè)計(jì)織布機(jī)--雅卡爾織布機(jī),對(duì)將來發(fā)展出其他可編程機(jī)器(例如計(jì)算機(jī))起了重要作用。當(dāng)時(shí),他的發(fā)明受到了Skynet絲織工的強(qiáng)烈反對(duì)。
1842年
阿達(dá)·洛夫萊斯(Ada Lovelace)因?yàn)閰捑肓嗽诠P記本上運(yùn)算,她建立了循環(huán)和子程序概念,為計(jì)算程序擬定'算法',遺憾的是當(dāng)時(shí)并沒有計(jì)算機(jī)。
1936年
阿蘭·圖靈(Alan Turing)被稱為計(jì)算機(jī)科學(xué)之父、人工智能之父,是計(jì)算機(jī)邏輯的奠基者,但卻因性傾向而遭到英國政府迫害化學(xué)閹割了他。女王伊麗莎白二世后來赦免了他,但不幸的是,當(dāng)時(shí)他已經(jīng)死了好幾個(gè)世紀(jì)了。
1936年
阿隆佐·邱奇(Alonzo Church)是美國數(shù)學(xué)家,1936年發(fā)表第一份精可計(jì)算函數(shù)的定義,對(duì)算法理論的系統(tǒng)發(fā)展做出巨大貢獻(xiàn),和圖靈是同一個(gè)年代的人,但比圖靈幸運(yùn)多了。
1957年
約翰·巴克斯(John Backus)創(chuàng)建全世界第一套高階語言FORTRAN,這是程序員真正意義上使用的第一種語言。
1959年
葛麗絲·穆雷·霍普(Grace Hopper)發(fā)明了第一個(gè)面向企業(yè)的面向業(yè)務(wù)的編程語言,為“面向商業(yè)的通用語言”簡稱 COBOL。
1964年
John Kemeny和Thomas Kurtz認(rèn)為編程太困難了,他們需要回到基礎(chǔ)上來,于是,他們稱自己發(fā)明的編程語言為BASIC。
1970年
Niklaus Wirth很喜歡開發(fā)語言,于是開發(fā)了多種語言,最終,他發(fā)明的Pascal成為當(dāng)時(shí)世界上最受歡迎的語言之一。他還提出了一句計(jì)算機(jī)領(lǐng)域人盡皆知的法則:算法+數(shù)據(jù)結(jié)構(gòu)=程序,這個(gè)公式對(duì)計(jì)算機(jī)科學(xué)的影響程度不亞于愛因斯坦的摩爾定律。
1972年
丹尼斯·里奇(Dennis Ritchie )在貝爾實(shí)驗(yàn)室上班上到無聊的時(shí)候,他決定發(fā)明帶有花括號(hào)的語言,于是C語言誕生了,最終還取得了巨大的成功。之后,他又添加了分段錯(cuò)誤等友好的功能來提高工作效率。
倒騰出這門C語言后,他和貝爾實(shí)驗(yàn)室的朋友心想要不做一個(gè)C的演示程序,于是,一個(gè)叫做Unix的操作系統(tǒng)又誕生了。
1980年
Alan Kay發(fā)明了面向?qū)ο蟮木幊?,并將其稱為Smalltalk,在Smalltalk中,所有的東西都是對(duì)象,甚至一個(gè)對(duì)象也是一個(gè)對(duì)象。所以壓根沒人真正搞得清楚 small talk 是什么意思。
1983年
Jean Ichbiah注意到Ada Lovelace程序從來沒有真正運(yùn)行,于是決定用她的名字開發(fā)一門語言,但語言最終還是沒有運(yùn)行成功。
1983年
Bjarne Stroustrup 注意到C語言在編譯方面還不夠完美,于是把自己能想到的功能都加進(jìn)去了,并將其命名為C ++。
程序員到處都采用它,這樣,他們看各種視頻和工作時(shí)讀xkcd漫畫的時(shí)候就有借口可找了。
1986年
Brac Box和Tol Move決定開發(fā)一個(gè)基于Smalltalk的C語言不可讀版本,他們稱之為Objective-C,然而卻沒有人能夠理解它的語法。
1991年
Guido van Rossum不喜歡花括號(hào),于是決定發(fā)明一種沒有花括號(hào)的語言,然后又因?yàn)樘矚g英國肥皂劇《Monty Python飛行馬戲團(tuán)》,于是,就把該語言命名為Python
1993年
Roberto Ierusalimschy和朋友決定開發(fā)一個(gè)巴西本地的腳本語言,在本地化過程中,一個(gè)錯(cuò)誤使得索引從1開始算起,而不是0,他們把這門語言命名為Lua。
1994年
Rasmus Lerdorf為了要維護(hù)個(gè)人網(wǎng)頁,在1994年,用C語言開發(fā)了一些CGI工具程式集,來取代原先使用的 Perl 程式。最初這些工具程式用來顯示 Rasmus Lerdorf 的個(gè)人履歷,以及統(tǒng)計(jì)網(wǎng)頁流量。后來又用C語言重新編寫,并將這些程式和一些表單直譯器整合起來,稱為 PHP/FI。
1995年
編程過程中存在很多不必要的瑣碎時(shí)間,導(dǎo)致松本行弘不是很高興,他注意到其他程序員也不是很高興。于是,他創(chuàng)建了 Ruby 來讓程序員高興。最后,Ruby 社區(qū)高興了,每個(gè)人也都高興了。
1995年
Brendan Eich 利用周末時(shí)間設(shè)計(jì)了一門語言,打算用這門語言來為全世界的每一個(gè)主流瀏覽器乃至于最終的 Skynet 都提供動(dòng)力。他先是找到了 Netscape 然后說這門語言叫做 LiveScript,但在代碼評(píng)審期間 Java 變得流行起來,所以他們決定最好還是用花括號(hào),然后就把它更名為 JavaScript。
結(jié)果表明,命名帶有 Java 會(huì)讓他們?nèi)巧仙虡?biāo)的糾紛,于是,JavaScript 就更名為 ECMAScript,但大家仍然把它叫做 JavaScript。
1996年
詹姆斯·高斯林(James Gosling)發(fā)明了Java,這是第一個(gè)過度冗長的面向?qū)ο缶幊陶Z言,其中設(shè)計(jì)模式在實(shí)用主義方面幾乎為0。于是乎,就誕生了超級(jí)有效的管理器提供商、容器提供商、服務(wù)提供商、單一管理器提供商模式
2001年
Anders Hejlsberg重新發(fā)明了Java并將其稱為C#,因?yàn)楦杏XC編程比Java更酷。每個(gè)人都喜歡這個(gè)新版本的Java,因?yàn)樗耆幌馢ava。
2005年
David Hanselmeyer Hansen創(chuàng)建了一個(gè)名為Ruby on Rails的Web框架,從此大家都忘了Ruby和Rails原來是兩個(gè)獨(dú)立的語言了。
2006年
John Resig為JavaScript編寫了一個(gè)輔助程序庫,每個(gè)人都認(rèn)為這是一種語言,并且從互聯(lián)網(wǎng)上復(fù)制和粘貼jQuery代碼。
2009年
肯·湯普森(Ken Thompson)和羅伯·派克(Rob Pike)決定開發(fā)一種像C這樣的語言,但是編譯速度要更快,更安全,并且把 Gopher(囊鼠)作為吉祥物。
最后,他們把這門語言命名為 Go,并把它做成開源,然后另外賣 Gopher 商標(biāo)來作為收入來源。
2010年
Graydon Hoare也想要像C這樣的語言,于是開發(fā)出了Rust。Rust集齊了其他動(dòng)態(tài)語言的重要特性。比如不需要管理內(nèi)存,比如不會(huì)出現(xiàn)Null指針等,但Graydon想要更炫的東西,于是開始為蘋果開發(fā)Swift。
2012年
Anders Hjelsberg希望在Web瀏覽器中編寫C#,于是他設(shè)計(jì)出了TypeScript,它可以理解為是JavaScript的超集,但其中卻包含了更多的Java。
2013年
Jeremy Ashkenas希望像Ruby開發(fā)者一樣快樂,所以他創(chuàng)建了CoffeeScript,編譯成JavaScript,但看起來更像Ruby。不過,Jeremy從來沒有像Matz和Ruby開發(fā)者那樣真正開心過。
2014年
Chris Lattner開發(fā)Swift時(shí)的主要設(shè)計(jì)目標(biāo)就是不要成為Objective-C,最終它看起來像Java。
●本文編號(hào)281,以后想閱讀這篇文章直接輸入281即可
●輸入m獲取到文章目錄
聯(lián)系客服