編程語(yǔ)言排行榜
TIOBE編程語(yǔ)言社區(qū)發(fā)布了2017 年11 月排行榜,Java、C、C ++ 三門(mén)編程語(yǔ)言依然占據(jù)前三。11月前5 排名中,最值得注意的是:Python 再次逆襲,已經(jīng)超越C#,上升到第4 的位置。
11月編程語(yǔ)言排行榜--TOP20 榜單
年初,Swift 曾一度進(jìn)入前十名,近期,Swift 卻不斷下滑,本月從上個(gè)月的第16 名掉到了如今的歷史最低第20 名,大有跌出20名之外的趨勢(shì)。作為iOS 開(kāi)發(fā)的另一主流語(yǔ)言,Objective-C 也難逃厄運(yùn),從上個(gè)月的第17 名跌落至第19 名。
Python超越C# 排名第4
無(wú)論在哪個(gè)榜單中Python都是保持著非同尋常的增長(zhǎng)速度,為什么Python 增長(zhǎng)的這么快?眾所周知,Python 功能非常強(qiáng)大,標(biāo)準(zhǔn)庫(kù)的極其豐富,從Web 開(kāi)發(fā)到數(shù)據(jù)科學(xué),再到DevOps,而且目前越來(lái)越多的應(yīng)用是使用Python 開(kāi)發(fā)的。
除了Python,其他腳本語(yǔ)言都趨于下滑
除了一路攀升的Python,我們可以看出其他腳本語(yǔ)言幾乎不在前20 名行列。此前腳本語(yǔ)言因其易于編寫(xiě)和易于運(yùn)行的特性,Perl,Python,PHP 和Ruby 等語(yǔ)言在當(dāng)時(shí)非常流行,但如今排名都趨于下滑,這是為什么呢?
腳本語(yǔ)言下滑的主要原因可能還是性能問(wèn)題,當(dāng)然這可能取決于很多因素,問(wèn)題是有多少情況下,性能問(wèn)題才是致命的。比如腳本語(yǔ)言中的大多數(shù)錯(cuò)誤都是運(yùn)行時(shí)發(fā)生的,盡管可以編寫(xiě)所有類(lèi)型的單元測(cè)試來(lái)彌補(bǔ)這一點(diǎn),但是仍然無(wú)法避免出現(xiàn)這樣的錯(cuò)誤。人們對(duì)質(zhì)量要求越來(lái)越高,如今幾乎沒(méi)有人敢用腳本語(yǔ)言編寫(xiě)一個(gè)關(guān)鍵的大型軟件系統(tǒng)。
Java持續(xù)下滑
還有一點(diǎn)值得注意的是,縱觀整個(gè)排行榜發(fā)現(xiàn)如今大部分編程語(yǔ)言的市場(chǎng)份額幾乎都在不斷減少,最為明顯的當(dāng)屬排行第一的Java,從2016 年開(kāi)始就持續(xù)下滑,本月下滑5.52%,下滑份額在前20 名中也是排行第一。
歷史排名(1987-2017):以下排名位次取決于12個(gè)月的平均值
我們看到這些語(yǔ)言的競(jìng)相綻放。其實(shí)世界上有很多種程式語(yǔ)言,但能夠熬出頭被眾人采用的卻很少。程式語(yǔ)言可以說(shuō)是軟體產(chǎn)業(yè)的基石,也是所有工程師每天都會(huì)用到的工具。
每一種語(yǔ)言都經(jīng)過(guò)多次修改,才能夠順應(yīng)潮流,讓軟體業(yè)有更豐富的面貌。雖如此,這些語(yǔ)言背后的推手卻鮮為人知,大家大概都知道Java之父是 James Gosling,但卻沒(méi)人知道Perl、Pascal、Lisp或Erlang的創(chuàng)造者是誰(shuí)。以下是我為大家搜集的資料,希望他們的貢獻(xiàn)能夠被更多人知道。
十位發(fā)明了全球最通用10種程式語(yǔ)言的工程師
Java – James Gosling
Java 是由任職于升陽(yáng)電腦的James Gosling 等人開(kāi)發(fā),是目前最受歡迎且廣泛使用的語(yǔ)言之一。原本由升陽(yáng)電腦負(fù)責(zé)開(kāi)發(fā)和更新,但在2010 年升陽(yáng)被甲骨文并購(gòu)之后,就改由甲骨文負(fù)責(zé)。
Java的宗旨是「Write Once Run Anywhere(一次編寫(xiě),到處運(yùn)行)」,強(qiáng)調(diào)跨平臺(tái)的特性,也是這語(yǔ)言成功的重要因素。
C – Dennis Ritchie
Dennis MacAlistair Ritchie 是一位美國(guó)工程師,1967-1973年之間,在AT&T的貝爾實(shí)驗(yàn)室開(kāi)發(fā)。雖然開(kāi)發(fā)時(shí)間較早,但至今仍保有競(jìng)爭(zhēng)優(yōu)勢(shì)。
順帶一提,UNIX 作業(yè)系統(tǒng)也是他的作品之一。雖然多數(shù)人可能沒(méi)聽(tīng)過(guò)他的名字,但在軟體界他的名氣可不輸給比爾蓋茲或賈伯斯。
C++ – Bjarne Stroustrup
Bjarne Stroustrup是一位丹麥工程師,后來(lái)也在貝爾實(shí)驗(yàn)室工作。C++是C的下一代的概念。起初是以物件導(dǎo)向?yàn)橹?,后?lái)加入許多模板和功能。由于接近C語(yǔ)言,速度又快,所以廣泛的被大家接受。
Python – Guido van Rossum
Python的設(shè)計(jì)宗旨就是希望程式碼可以被人類(lèi)閱讀,不像一般語(yǔ)言難以理解,由荷蘭程式設(shè)計(jì)師 Guido van Rossum所開(kāi)發(fā)。
在美國(guó),多數(shù)的學(xué)生都學(xué)Java,但是近幾年,大家都改以Python為入門(mén)程式。常用在網(wǎng)頁(yè)應(yīng)用工具,Google、Yahoo和Spotify也都大量使用這種語(yǔ)言。如果你還在猶豫要學(xué)Java或是Python可以看看我們的另外一篇文章。
PHP – Rasmus Lerdorf
不管你有多討厭PHP,都無(wú)法忽視全世界有半數(shù)網(wǎng)頁(yè)都是使用這種語(yǔ)言。PHP原本只是Rasmus Lerdorf為了快速修編自己的網(wǎng)路履歷而開(kāi)發(fā)的,PHP原本的全名也就是Personal Home Page。
當(dāng)時(shí)它的競(jìng)爭(zhēng)對(duì)手是微軟的Active Server Pages (ASP)和Java Server Pages(JSP),顯然它贏了,并且占領(lǐng)超過(guò)2 千萬(wàn)個(gè)網(wǎng)站和一百萬(wàn)個(gè)網(wǎng)站伺服器。它很適合用在動(dòng)態(tài)網(wǎng)頁(yè)上面,以及網(wǎng)頁(yè)伺服器的開(kāi)發(fā)上面,Facebook、Wikipedia、Wordpress 和Joomla 也都是使用這個(gè)語(yǔ)言。
Perl–Larry Wall
Perl是一種高階、通用、直譯、動(dòng)態(tài)的程式語(yǔ)言。1980年代中由Larry Wall 開(kāi)發(fā),特別的是它不僅是個(gè)工程師,還是個(gè)語(yǔ)言學(xué)家,這項(xiàng)特質(zhì)在Perl中也可以發(fā)現(xiàn),也是它最大的優(yōu)勢(shì)。
Perl被廣泛的應(yīng)用在編寫(xiě)CGI(通用網(wǎng)關(guān)接口)、資料庫(kù)應(yīng)用、網(wǎng)路/圖形設(shè)計(jì)上。IMDB、Amazon和Priceline就是以此為基礎(chǔ)。對(duì)Java程式設(shè)計(jì)師來(lái)說(shuō),能夠在履歷加上Perl或Python是很加分的,因?yàn)樗麄儠?huì)需要腳本語(yǔ)言來(lái)完成維修、支援等特殊任務(wù)。
JavaScript – Brendan Eich
如果你問(wèn)我過(guò)去5-10年之間誰(shuí)是冠軍,我會(huì)回答「JavaScript」。過(guò)去他主攻在客戶(hù)端的程式撰寫(xiě),還建立了函示庫(kù)jQuery,近幾年往伺服器開(kāi)發(fā)走,推出了Node.js。
它是一種基于原型、動(dòng)態(tài)型別、弱型別的語(yǔ)言。1995年由網(wǎng)景的Brendan Eich所開(kāi)發(fā)。主要在瀏覽器上運(yùn)行,不需要伺服器支援。代表成果有Gmail、Mozila Firefox。
Ruby–Yukihiro Matsumoto
1990年中,由松本行弘開(kāi)發(fā)。Ruby是一種有趣的語(yǔ)言,如果你學(xué)過(guò)大概就會(huì)懂我的意思,它受到Perl、Ada、Lisp和Smalltalk影響,設(shè)計(jì)的宗旨就是希望能減少編程的時(shí)間,強(qiáng)調(diào)人性化的介面。
多半用在網(wǎng)頁(yè)應(yīng)用程式,像是Twitter、Hulu 和Groupon。
Lisp – John McCarthy
第二年長(zhǎng)的高階語(yǔ)言,原名是List Processor(清單處理器),由John McCarthy 發(fā)明,此生致力于人工智慧研究。
Pascal – Niklaus Wirth
1968年由 Niklaus Wirth 發(fā)明,是一個(gè)小型、高校的語(yǔ)言,鼓勵(lì)結(jié)構(gòu)化編成和資料結(jié)構(gòu)的實(shí)踐。
不管你是使用哪種語(yǔ)言,都希望你知道這些東西不是憑空出現(xiàn)的,沒(méi)有他們,我們不會(huì)有今天的成就。
聯(lián)系客服