來自公眾號 : DeveloperPython
摘要:本文根據(jù)Stack Overflow流量分析了Python及其他一些編程語言的發(fā)展情況,同時也對高收入國家與非高收入國家的情況進(jìn)行了對比。以下是雁驚寒的譯文。
我們最近的研究表明祝旷,富裕國家(世界銀行定義為高收入國家)喜歡研究的技術(shù)與其他國家的不同结啼。其中贞滨,我們看到最大的差異是Python語言拙吉。當(dāng)我們關(guān)注高收入國家的時候,甚至可以看到Python的增長速度比Stack Overflow Trends或者其他一些全球軟件開發(fā)排名顯示的還要快缆蝉。
在這篇文章中宇葱,我們將探討過去五年中Python語言不尋常的增長速度,正如在高收入國家的Stack Overflow流量中所示的那樣刊头。 “增長最快”一詞可能很難精確定義黍瞧,但是我們認(rèn)為Python確實是增長最快的主流編程語言。
本文提到的大部分?jǐn)?shù)字都來自高收入國家芽偏,比如美國雷逆、英國、德國污尉、加拿大和其他類似的國家膀哲,他們加起來占了Stack Overflow 64%的流量。其他一些國家被碗,如印度某宪、巴西、俄羅斯和中國锐朴,也為全球軟件開發(fā)生態(tài)系統(tǒng)做出了巨大的貢獻(xiàn)兴喂。盡管這些國家的Python也在增長,但本文幾乎不涉及這些經(jīng)濟(jì)體焚志。
需要強(qiáng)調(diào)的是衣迷,使用某種語言的用戶數(shù)并不能用來衡量該語言的質(zhì)量:我們現(xiàn)在正在講的是開發(fā)人員使用的編程語言,而不是處方酱酬。
「Python在高收入國家的增長情況」
你可以在Stack Overflow Trends上看到壶谒,Python在過去幾年里一直在迅速增長。但是對于這篇文章膳沽,我們將重點關(guān)注高收入國家汗菜,并且分析的是Stack Overflow上問題的訪問情況让禀,而不是用戶提的問題。
有關(guān)Stack Overflow問題視圖的數(shù)據(jù)可以追溯到2011年底陨界,在這段時間內(nèi)巡揍,我們可以看一下Python相對于其他五種主流編程語言的增長情況。這是目前高收入國家中Stack Overflow訪問量前十的標(biāo)簽中的六個菌瘪;另外還有這四個沒包括在內(nèi)腮敌,分別是CSS、HTML俏扩、Android和JQuery缀皱。
2017年6月,Python第一次成為高收入國家Stack Overflow訪問量最大的標(biāo)簽动猬。它在美國和英國是訪問量最大的標(biāo)簽,在大部分其他高收入國家中也是排在前兩名(另外一個要么是Java要么是JavaScript)表箭。這尤其令人印象深刻赁咙,因為在2012年,Python的訪問量小于其他五種語言免钻,而到現(xiàn)在其訪問量已經(jīng)增長了2.5倍彼水。
產(chǎn)生這種現(xiàn)象的部分原因是Java流量的季節(jié)性因素。由于Java是本科重點課程极舔,所以它的流量會在秋季和春季上升凤覆,而在夏季下降。但是它會在年底再次趕上Python嗎拆魏?我們可以嘗試使用名為“STL”的模型來預(yù)測未來兩年的增長情況盯桦,這個模型能將增長情況與季節(jié)性趨勢相結(jié)合,從而預(yù)測未來的值渤刃。
根據(jù)這個模式的預(yù)測拥峦,Python可能會在今年秋天保持領(lǐng)先地位或被Java反超,但到了2018年卖子,Python肯定會成為最受歡迎的標(biāo)簽略号。STL還暗示JavaScript和Java在高收入國家中的流量將保持相似的水平,就跟最近兩年的情況差不多洋闽。
「從整體上來看玄柠,有哪些標(biāo)簽增長得最快?」
以上我們只看了六種主流語言诫舅,那么目前在高收入國家中還有哪些增長較快的技術(shù)呢羽利?
我們用2017年和2016年的流量占比來定義增長率。在這個分析中骚勘,我們只考慮編程語言(比如Java和Python)和平臺(比如iOS铐伴、Android撮奏、Windows和Linux),不包括類似Angular的框架和類似TensorFlow的庫当宴。
由于這個漫畫中描述的“增長最快”存在問題畜吊,因此,我們使用平均差異圖來比較各個語言的增長率與整體平均增長率户矢。
Python憑借著27%的年增長率在所有標(biāo)簽中獨占鰲頭玲献,它既是流量最大也是增長最快的標(biāo)簽。擁有類似增長率的第二大標(biāo)簽是R語言梯浪。我們可以看到捌年,其他大多數(shù)大標(biāo)簽的流量在高收入國家都保持穩(wěn)定,而Android挂洛、iOS和PHP的訪問量則略有下降礼预。(我們在之前一篇Flash之死的帖子中研究了一些流量減少的標(biāo)簽,如Objective-C虏劲、Perl和Ruby)托酸。我們還注意到,在函數(shù)式編程語言中柒巫,Scala是流量最大并且增長非常迅速的語言励堡,F(xiàn)#和Clojure則較小并且還在不斷下降,而Haskell則位于它們之間并保持著穩(wěn)定堡掏。
在上圖中有一個重要的東西被遺漏了:TypeScript的流量去年竟然增長了142%应结,這足以讓我們對它進(jìn)行單獨處理,以避免超過現(xiàn)有的范圍泉唁。你還可以看到鹅龄,其他一些較小語言(例如R、Go和Rust)的增長速度與Python差不多或更快亭畜,而且也有許多標(biāo)簽砾层,例如Swift和Scala,它們的增長情況也很驚人贱案。與Python相比肛炮,他們的流量變化情況怎么樣呢?
像R和Swift這樣的語言的發(fā)展情況確實很驚人宝踪,而TypeScript在更短的時間內(nèi)表現(xiàn)出了更快速的擴(kuò)張侨糟。如圖所示,當(dāng)標(biāo)簽一開始相對較小時瘩燥,則后期越容易出現(xiàn)較快地增長秕重。
請注意,我們的意思并不是說這些語言可以與Python“抗衡”厉膀。相反溶耘,我們正在解釋的是為什么要把它們單獨拿出來分析二拐,這些都是較低流量的標(biāo)簽。Python有著一個與眾不同的情況凳兵,它是Stack Overflow中最受歡迎的標(biāo)簽之一百新,也是增長最快的一個。
「其他地區(qū)的情況」
到目前為止庐扫,我們一直都在分析高收入國家的發(fā)展趨勢饭望。那么,在像印度形庭、巴西铅辞、俄羅斯、中國等其他一些國家中萨醒,Python的增長情況如何呢斟珊?
它依然是增長最快的編程語言。
在非高收入國家中富纸,Python仍然是增長最快的主流編程語言倍宾;它只是最開始的水平比較低,并且是在兩年后才開始增長(從2014年開始胜嗓,而不是2012年)。事實上钩乍,非高收入國家的Python同比增長率略高于高收入國家辞州。
本文中有關(guān)高收入國家標(biāo)簽流量增減的許多結(jié)論也都適用于其他地區(qū),并且這兩者的增長率存在著0.979的相關(guān)性寥粹。在某些情況下变过,你會看到類似于Python的“滯后”現(xiàn)象,即某個技術(shù)在高收入國家的接受度發(fā)展水平比其他地區(qū)要早一到兩年涝涤。
「下一步工作****」
我們不希望挑起所謂的“語言之戰(zhàn)”媚狰。一種語言的用戶數(shù)量并不代表著它的質(zhì)量,而且肯定無法告訴你哪種語言更適合某種特定情況阔拳。不過崭孤,考慮到這個觀點,我們認(rèn)為有必要了解一下有哪些語言建起了開發(fā)者生態(tài)系統(tǒng)糊肠,以及生態(tài)系統(tǒng)當(dāng)前的發(fā)展情況辨宠。