軟件開發(fā)領(lǐng)域里有許許多多編程語(yǔ)言。在這里,不斷有新的編程語(yǔ)言在誕生,如Scala、Go、Closure等,也不斷有老的編程語(yǔ)言慢慢消亡。它們中的許多都曾為軟件開發(fā)作出了巨大貢獻(xiàn)。作為軟件開發(fā)領(lǐng)域中最重要的事物,編程語(yǔ)言從一誕生起就會(huì)經(jīng)歷人們的議論、批評(píng)與改進(jìn)。這些編程語(yǔ)言的創(chuàng)造者是編程世界的標(biāo)志人物,當(dāng)我看到某些人在使用某種編程語(yǔ)言卻不知道這門語(yǔ)言從何而來的時(shí)候,會(huì)感到一種淡淡的憂傷。對(duì)于最為流行的編程語(yǔ)言,出現(xiàn)這種情況的情況較少,比如Java,幾乎所有人都知道Java之父的名字James Gosling,但是,對(duì)于Perl、Pascal、Lisp或者Erlang呢,你是否依然知道它們的創(chuàng)造者是誰?
這些想法促使了本文的誕生,本文收集并分享了這五十年來,最成功,最流行的十門編程語(yǔ)言和它們的創(chuàng)造者的故事。在文章的底部還附有相關(guān)的信息圖,方便你能夠進(jìn)行直觀的查看。(請(qǐng)注意,下面的順序并不代表排名。)
1)Java和James Gosling
Java是世界上最成功最流行的編程語(yǔ)言之一。James Gosling博士發(fā)明了Java,并被尊稱為Java之父。在早些時(shí)候,Java是由SUN微系統(tǒng)公司開發(fā)與提供技術(shù)支持的,在2010年1月SUN被甲骨文公司收購(gòu)后,現(xiàn)在這些是由甲骨文公司來完成。Java的創(chuàng)造是為了完成WORA(Write once, run anywhere 一次編寫到處運(yùn)行)的理念,它的平臺(tái)獨(dú)立性使它在企業(yè)應(yīng)用中獲得了巨大成功。到目前為止,它已經(jīng)成為了最流行的一門應(yīng)用程序編程語(yǔ)言。
2)C和Dennis Ritchie
1967年到1973年之間,美國(guó)計(jì)算機(jī)科學(xué)家Dennis MacAlistair Ritchie在AT&T貝爾實(shí)驗(yàn)室創(chuàng)造了C語(yǔ)言。到目前為止,C語(yǔ)言仍然非常受歡迎,它被廣泛地運(yùn)用于系統(tǒng)編程。它比Java要古老得多,但是還依然保持著在軟件開發(fā)領(lǐng)域的地位。另外值得一提的是,Dennis Ritchie還與他的同事Ken Thompson創(chuàng)造了世界著名的UNIX操作系統(tǒng)。如果你要讓他和 Bill Gates或者Steve Jobs比較名氣,可能他會(huì)比不上,但是要是比較軟件開發(fā)領(lǐng)域的貢獻(xiàn)的話,他會(huì)完爆以上那兩位。每一個(gè)程序員都會(huì)銘記Dennis Ritchie以及他為軟件開發(fā)領(lǐng)域所做出的杰出貢獻(xiàn)。
3)C++和Bjarne Stroustrup
Bjarne Stroustrup,出生于1950年12月30日的奧爾胡斯,是丹麥的計(jì)算機(jī)科學(xué)家。他最引人注目的成就是創(chuàng)建并推廣了編程語(yǔ)言C++。C++,正如其名字所暗示的一樣,是C語(yǔ)言之后流行的新一代語(yǔ)言。它所帶來的面向?qū)ο缶幊痰母拍畋徽J(rèn)為是有別于C語(yǔ)言編程結(jié)構(gòu)的非凡特性。C++目前仍然是最受歡迎的一門編程語(yǔ)言,由于與計(jì)算機(jī)系統(tǒng)聯(lián)系緊密以及流行的面向?qū)ο筇匦,它被廣泛地運(yùn)用于商業(yè)領(lǐng)域。
4)Python和Guido van Rossum
Python是一門用途廣泛的高級(jí)編程語(yǔ)言,它的設(shè)計(jì)理念是強(qiáng)調(diào)代碼可讀性,因此它的語(yǔ)法非常清晰和明亮。Python是由荷蘭國(guó)家數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究院的Guido van Rossum設(shè)計(jì)的。在美國(guó),Python在學(xué)術(shù)層面上已經(jīng)取代了Java,如今的學(xué)生開始學(xué)習(xí)編程時(shí)使用的是Python,就象上一代使用C或者Java一樣。如果你仍然不能確定是使用Python還是Java來作為初學(xué)語(yǔ)言,這篇文章可以幫助你作出選擇。Python廣泛運(yùn)用于web應(yīng)用程序開發(fā),在軟件開發(fā)和信息安全領(lǐng)域有許多基于Python的web框架。另外,Python也廣泛被Google、Yahoo、Spotify等科技巨頭所使用。
5)PHP和Rasmus Lerdorf
無論你有多么討厭PHP,你都不能忽略這樣一個(gè)事實(shí):有一半的互聯(lián)網(wǎng)都運(yùn)行著這樣一種神奇的互聯(lián)網(wǎng)語(yǔ)言。PHP最初是由Rasmus Lerdorf在1995年創(chuàng)造的,PHP現(xiàn)在最主要的實(shí)施是由PHP團(tuán)隊(duì)來完成,這個(gè)團(tuán)隊(duì)還為PHP語(yǔ)言提供正式的參考。彼時(shí),PHP是作為微軟的動(dòng)態(tài)服務(wù)器頁(yè)面(ASP)服務(wù)器端腳本引擎以及類似語(yǔ)言如JSP的競(jìng)爭(zhēng)者身份而出現(xiàn)的,但在逐漸受到大家好評(píng)并接受之后,現(xiàn)在已經(jīng)有超過2000萬個(gè)網(wǎng)站和100萬個(gè)Web服務(wù)器使用了這門語(yǔ)言。它是一門開源的語(yǔ)言,F(xiàn)acebook、Wikipedia、Wordpress以及 Joomla這些互聯(lián)網(wǎng)巨頭都在使用它。我還沒告訴你PHP主要用來做什么吧?還需要猜么?答案就是個(gè)人主頁(yè)了!:)
6)Perl和Larry Wall
Perl是一種高級(jí)的、通用的、解釋性動(dòng)態(tài)編程語(yǔ)言,是由Larry Wall在1980年代中期設(shè)計(jì)和開發(fā)的。Perl因?yàn)槠鋬?yōu)秀的文字處理能力而一舉成名。如今,它仍然是UNIX系統(tǒng)上開發(fā)報(bào)告、腳本的主要工具。Perl因解析和處理大型文本文件及其在CGI、數(shù)據(jù)庫(kù)應(yīng)用程序、網(wǎng)絡(luò)編程和圖形編程的應(yīng)用而被大家熟知。Perl廣泛地在大型互聯(lián)網(wǎng)公司中使用,如IMDB、Amazon以及Priceline。對(duì)于Java開發(fā)人員來說,添加Perl或者Python的組合是很好的補(bǔ)充,因?yàn)殚_發(fā)中需要一種腳本語(yǔ)言來用于特定的任務(wù)維護(hù)和支持。
7)JavaScript和Brendan Eich
如果你問我,過去5到10年里最成功的語(yǔ)言是哪一門?我會(huì)毫不猶豫地回答你,是JavaScript。從不久前的客戶端JQuery腳本庫(kù)到最近的服務(wù)器端開發(fā)的node.js庫(kù),在Web開發(fā)的各自領(lǐng)域它們都占據(jù)著主導(dǎo)地位。JavaScript是一門基于原型的、動(dòng)態(tài)的、弱類型腳本語(yǔ)言,它最初是由Brendan Eich設(shè)計(jì)并由網(wǎng)景通訊公司開發(fā)的,其功能非常強(qiáng)大,廣泛的用于客戶端腳本驗(yàn)證、動(dòng)畫、事件捕獲、表單提交及其它常見的任務(wù)。它運(yùn)行于瀏覽器中并被包括Gmail、Mozila Firefox在內(nèi)的幾乎所有網(wǎng)站所使用。
8)Ruby和松本行弘
Ruby是由日本的計(jì)算機(jī)科學(xué)家松本行弘在1990年代中期開發(fā)和設(shè)計(jì)的。使用Ruby編程是非常有趣的事情,如果你使用過Ruby你一定知道我表達(dá)的意思。Ruby深受Perl、Ada、Lisp和Smalltalk的影響,它的設(shè)計(jì)是為了讓編程更有效率,更加愉快。Ruby主要用于Web應(yīng)用程序開發(fā),它被Twitter、Hulu和Groupon等大網(wǎng)站所使用。
9)Lisp和John McCarthy
John McCarthy是第二古老的高級(jí)編程語(yǔ)言的創(chuàng)造者。Lisp代表列表處理器(List processor)之意。我從來沒有使用過Lisp,但據(jù)說它是函數(shù)式編程語(yǔ)言如Haskell、Erlang和Scala的祖先。Lisp常被用于繪圖軟件的開發(fā)和防空系統(tǒng)領(lǐng)域。
10)Pascal和Niklaus Wirth
Pascal是一門有影響力的命令式和過程式編程語(yǔ)言,是由Niklaus Wirth在1968 – 1969年設(shè)計(jì)并于1970年出版的。Pascal作為一種小型、高效的語(yǔ)言旨在通過使用結(jié)構(gòu)化程序設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)來鼓勵(lì)良好的編程實(shí)踐。