近年來 Python 的熱度不斷上升间影,知名IT技術(shù)問答社區(qū) Stack Overflow 最近公布了程序語言排行榜,讓我們從數(shù)據(jù)的角度解讀為什么說 Python 是目前熱度增長(zhǎng)最快的編程語言...
之前我們探討了富裕國(guó)家(被世界銀行定義為高收入的國(guó)家)比起其他國(guó)家更傾向于使用各種不同的技術(shù)茄茁。我們發(fā)現(xiàn)當(dāng)中最大的差異是關(guān)于編程語言 Python 魂贬。在高收入國(guó)家中,Python 的增長(zhǎng)熱度甚至比 Stack Overflow 的 Trends 工具等更為明顯裙顽。
在本文中我們將探討在過去五年中付燥,高收入國(guó)家中 Python 熱度的驚人增長(zhǎng)。下面讓我們用數(shù)據(jù)解讀為什么說在主要編程語言中 Python 的增長(zhǎng)速度是最快的愈犹。
這篇文章中涉及的數(shù)據(jù)主要針對(duì)高收入國(guó)家 ; 這通常代表美國(guó)机蔗,英國(guó),德國(guó)甘萧,加拿大等國(guó)家的趨勢(shì),這些國(guó)家共占 Stack Overflow 總流量的 64%梆掸。印度扬卷,巴西,俄羅斯和中國(guó)等國(guó)家酸钦,也為全球軟件開發(fā)生態(tài)系統(tǒng)做出了巨大的貢獻(xiàn)怪得。盡管 Python 在這些國(guó)家也顯示出了增長(zhǎng),但這篇文章對(duì)這些經(jīng)濟(jì)體涉及的不多卑硫。
但同時(shí)值得強(qiáng)調(diào)的是徒恋,一種語言的用戶數(shù)量并不是衡量語言質(zhì)量的標(biāo)準(zhǔn):在此我們說明的僅為當(dāng)前開發(fā)人員使用語言的情況。(實(shí)際上:之前我主要用 Python 編程欢伏,但后來轉(zhuǎn)為了使用 R 語言)入挣。
Python 在高收入國(guó)家的熱度增長(zhǎng)
在 StackOverflow 編程語言流行趨勢(shì)中可以看到,Python 在過去幾年中一直在迅速增長(zhǎng)硝拧。但是在本文中径筏,我們將重點(diǎn)關(guān)注高收入國(guó)家葛假,并主要考慮被瀏覽的問題,而不是所提的問題(這會(huì)得出類似的結(jié)果滋恬,但是具有較小的每月噪音聊训,特別是對(duì)于小的標(biāo)簽)。
關(guān)于 Stack Overflow 瀏覽問題的數(shù)據(jù)可以追溯到2011年底恢氯,在這段時(shí)間內(nèi)带斑,我們將 Python 的熱度增長(zhǎng)對(duì)比其他五種主要編程語言。(注意勋拟,這比 Trends 工具的時(shí)間范圍短勋磕,Trends 可追溯到2008年)。包括的編程語言為目前高收入國(guó)家中十大 Stack Overflow 訪問標(biāo)簽中的六個(gè); 我們沒有包括的四個(gè)是 CSS指黎,HTML朋凉,Android 和 JQuery。
2017 年 6 月醋安,Python 第一次成為高收入國(guó)家在 Stack Overflow 訪問量最多的標(biāo)簽杂彭。當(dāng)中,Python 是美國(guó)和英國(guó)訪問量最大的標(biāo)簽吓揪,在其他高收入國(guó)家 Python 訪問量為前兩名(除 Java 或 JavaScript 之外)亲怠。這是令人印象深刻的,因?yàn)樵?2012 年柠辞,Python 的訪問量還低于其他五種語言团秽,如今比當(dāng)時(shí)增長(zhǎng)了 2.5 倍。
部分原因是由于 Java 的季節(jié)性流量特征叭首。由于 Java 在本科教育中比重較大习勤,因此在春秋季 Java 流量上升,夏季則下降焙格。到今年年底它會(huì)再次趕超 Python 嗎?我們可以嘗試使用 “STL” 模型預(yù)測(cè)未來兩年的增長(zhǎng)情況图毕,該模型將增長(zhǎng)與季節(jié)趨勢(shì)相結(jié)合,以預(yù)測(cè)語言的未來價(jià)值眷唉。
根據(jù)該模型予颤,在秋天 Python 可能會(huì)保持領(lǐng)先地位,亦或者會(huì)被 Java 超越(大致處于模型預(yù)測(cè)的變化范圍之內(nèi))冬阳。但在 2018 年蛤虐,Python 顯然會(huì)成為最受歡迎的標(biāo)簽。根據(jù) STL肝陪,與過去兩年一樣驳庭,JavaScript 和 Java 在高收入國(guó)家中將保持相似的流量。
哪些標(biāo)簽的增長(zhǎng)速度最快氯窍?
以上只包括了六種最受歡迎的編程語言嚷掠。那么在其他值得注意的技術(shù)中捏检,哪些技術(shù)在高收入國(guó)家中增長(zhǎng)最快呢?
我們根據(jù) 2017 年至 2016 年的流量比例對(duì)增長(zhǎng)率進(jìn)行了定義不皆。在分析中贯城,我們決定僅考慮編程語言(如 Java 和 Python)和平臺(tái)(如 iOS,Android霹娄,Windows 和Linux)能犯,而不考慮如 Angular 的框架或如 TensorFlow 的庫(盡管其中許多增長(zhǎng)顯著,我們?cè)谥蟮难芯恐袑⑸婕埃?/p>
由于在圖表中難以定義“增長(zhǎng)最快”犬耻,我們將增長(zhǎng)量與總體平均值進(jìn)行比較踩晶。
以 27% 的年增長(zhǎng)率,Python 成為流量大且增長(zhǎng)迅速的標(biāo)簽 ; 第二名是 R 語言枕磁。在高收入國(guó)家中大多數(shù)其他標(biāo)簽的流量增長(zhǎng)保持穩(wěn)定渡蜻,Android,iOS 和 PHP 的訪問量則略有下降计济。還可以注意到茸苇,在函數(shù)式編程語言中,Scala 所占比重最大并不斷增長(zhǎng)沦寂,而 F# 和 Clojure 所占比重較小增長(zhǎng)率縮小学密,Haskell 比重居中,且增長(zhǎng)保持穩(wěn)定传藏。
上圖中有個(gè)遺漏的部分:去年腻暮,關(guān)于 TypeScript 問題的流量增長(zhǎng)達(dá)到驚人的142%,為了避免給數(shù)據(jù)帶來的影響我們未將其列入其中毯侦。我們還可以看到哭靖,還有一些語言的增長(zhǎng)速度與 Python 類似或者更快(如 R 語言,Go 和 Rust)侈离,并且還有許多標(biāo)簽(如 Swift 和 Scala)也呈現(xiàn)令人印象深刻的增長(zhǎng)试幽。那么與 Python 相比,這些語言的流量增長(zhǎng)隨著時(shí)間呈現(xiàn)什么特點(diǎn)呢霍狰?
如 R 語言和 Swift 等語言的發(fā)展確實(shí)令人印象深刻,而且在較短的時(shí)間內(nèi) TypeScript 也顯示出非呈渭埃快速的增長(zhǎng)蔗坯。許多使用量較小的語言,在軟件生態(tài)系統(tǒng)中的增長(zhǎng)顯著燎含。但如圖所示宾濒,當(dāng)標(biāo)簽一開始比重較小時(shí),更容易顯示出快速的增長(zhǎng)屏箍。
我們并不是說這些語言在一定程度上在與 Python 競(jìng)爭(zhēng)绘梦。相反橘忱,在這里要說明的是為什么要單獨(dú)把這些語言的增長(zhǎng)量放到其他類別中; 一開始這些語言都為流量較小的標(biāo)簽。而 Python 則一個(gè)不尋常的例子卸奉,它既是 Stack Overflow 中最受歡迎的標(biāo)簽之一钝诚,也是增長(zhǎng)最快標(biāo)簽的之一。(同時(shí)它也在加速增長(zhǎng)榄棵!自 2013 年以來凝颇,Python 的增長(zhǎng)速度在逐年加速)。
世界其他地區(qū)
到目前為止疹鳄,在本文中我們一直在分析高收入國(guó)家的編程語言趨勢(shì)拧略。那么在印度,巴西瘪弓,俄羅斯和中國(guó)其他等國(guó)家垫蛆,Python 的增長(zhǎng)情況是否也是如此呢?
確實(shí)如此腺怯。
在高收入國(guó)家之外的國(guó)家袱饭,Python 仍然是增長(zhǎng)最快的主要編程語言; 開始它的比重較低,兩年后才開始增長(zhǎng)(2014 年而不是 2012 年)瓢喉。事實(shí)上宁赤,非高收入國(guó)家中Python 的年增長(zhǎng)率速略于高收入國(guó)家。本文中我們沒有涉及到栓票,而其使用率與國(guó)內(nèi)生產(chǎn)總值為正相關(guān)的R語言也在增長(zhǎng)决左。
本文關(guān)于高收入國(guó)家中的程序語言增長(zhǎng)和下降的許多結(jié)論都適用于世界其他地區(qū); 兩個(gè)部分增長(zhǎng)率之間的斯皮爾曼等級(jí)相關(guān)系數(shù)為 0.979。在某些情況下走贪,我們可以看到類似 Python “滯后”的現(xiàn)象佛猛,一般來說一項(xiàng)技術(shù)在高收入國(guó)家中被廣泛采用,一兩年后才會(huì)才在世界其他地區(qū)擴(kuò)張坠狡。(這是一個(gè)有趣的現(xiàn)象)
結(jié)語
我們并不想挑起爭(zhēng)論哪種編程語言更好的所謂“語言戰(zhàn)爭(zhēng)”碧注。一種語言的用戶數(shù)量并不意味著它的質(zhì)量,當(dāng)然也不能說明哪種語言更適合某種特定的情況蓬推。但是從這個(gè)角度而言济炎,我們應(yīng)該了解開發(fā)者生態(tài)系統(tǒng)的語言構(gòu)成,以及該生態(tài)系統(tǒng)是如何變化的凯亮。
本文表明了在過去的 5 年中边臼,Python 已經(jīng)顯示出驚人的增長(zhǎng),尤其是在高收入國(guó)家中假消。之后我們將探索當(dāng)中的原因柠并。我們將按國(guó)家和行業(yè)對(duì)增長(zhǎng)情況進(jìn)行劃分,并分析哪些技術(shù)會(huì)與 Python 一起使用(例如,我們會(huì)分析 Python 的增長(zhǎng)量中哪些是來自 web 開發(fā)臼予,哪些是來自數(shù)據(jù)科學(xué))鸣戴。
原文鏈接:
https://stackoverflow.blog/2017/09/06/incredible-growth-python/