Stack Overflow 報告:Python 正在令人難以置信地增長!
我們最近探討了那些世界銀行定義為高收入的富裕國家是如何傾向於使用與世界上其它地區不同的技術。這其中我們看到的最大的差異在於 Python 編程語言。就高收入國家而言,Python 的增長甚至要比 Stack Overflow Trends 等工具展現的或其他針對全球的軟體開發的排名更高。
在本文中,我們將探討在過去五年中 Python 編程語言的非凡增長,就如在高收入國家的 Stack Overflow 流量所示那樣。「增長最快」一詞很難準確定義,但是我們認為 Python 確實可以稱得上增長最快的主流編程語言。
這篇文章中討論的所有數字都是針對高收入國家的。它們一般指的是美國、英國、德國、加拿大等國家的趨勢,他們加起來佔了 Stack Overflow 大約 64% 的流量。許多其他國家,如印度、巴西、俄羅斯和中國,也為全球軟體開發生態系統做出了巨大貢獻,儘管我們也將看到 Python 在這方面有所增長,但本文對這些經濟體的描述較少。
值得強調的是,一種語言的用戶數量並不能衡量語言的品質:我們是在描述開發人員使用的語言,但沒有規定任何東西。(完全披露:我曾經主要使用 Python 編程,儘管我已經完全切換到 R 了)。
Python 在高收入國家的增長
你可以在 Stack Overflow Trends 中看到,Python 在過去幾年中一直在快速增長。但是對於本文,我們將重點關注高收入國家,考慮的是問題的瀏覽量而不是提出的問題數量(這基本上結果是類似的,但是每個月都有所波動,特別是對於較小的標籤分類)。
我們有關於 Stack Overflow 問題的查看數據可以追溯到 2011 年底,在這段時間內,我們可以研究下 Python 相對於其他五種主要編程語言的增長。(請注意,這比 Stack Overflow Trends 的時間範圍更短,它可追溯到 2008 年)。這些目前是高收入國家裡十大訪問最高的 Stack Overflow 標籤中的六個。我們沒有包括的四個是 CSS、HTML、Android 和 JQuery。
2017 年 6 月,Python 是成為高收入國家裡 Stack Overflow 訪問量最高的標籤的第一個月。這也是美國和英國最受歡迎的標籤,以及幾乎所有其他高收入國家的前兩名(接著就是 Java 或 JavaScript)。這是特別令人印象深刻的,因為在 2012 年,它比其他 5 種語言的訪問量小,比當時增長了 2.5 倍。
部分原因是因為 Java 流量的季節性。由於它在本科課程中有很多課程,Java 流量在秋季和春季會上升,夏季則下降。到年底,它會再次趕上 Python 嗎?我們可以嘗試用一個叫做 「STL」 的模型來預測未來兩年的增長, 它將增長與季節性趨勢結合起來,來預測將來的變化。
根據這個模型,Python 可能會在秋季保持領先地位或被 Java 取代(大致在模型預測的變化範圍之內),但是 Python 顯然會在 2018 年成為瀏覽最多的標籤。STL 還表明,與過去兩年一樣,JavaScript 和 Java 在高收入國家中的流量水平將保持相似水平。
什麼標籤整體上增長最快?
上面只看了六個最受歡迎的編程語言。在其他重大技術中,哪些是目前在高收入國家中增長最快的技術?
我們以 2017 年至 2016 年流量的比例來定義增長率。在此分析中,我們決定僅考慮編程語言(如 Java 和 Python)和平台(如 iOS、Android、Windows 和 Linux),而不考慮像 Angular 或 TensorFlow 這樣的框架(雖然其中許多有顯著的增長,可能在未來的文章中分析)。
xkcd - Fastest-Growing
由於上面這個漫畫中所描述的「最快增長」定義的激勵,我們將增長與平均差異圖中的整體平均值進行比較。
Python 以 27% 的年增長率成為了規模大、增長快的標籤。下一個類似增長的最大標籤是 R。我們看到,大多數其他大型標籤的流量在高收入國家中保持穩定,瀏覽 Android、iOS 和 PHP 則略有下降。我們以前在 Flash 之死這篇文章中審查過一些正在衰減的標籤,如 Objective-C、Perl 和 Ruby。我們還注意到,在函數式編程語言中,Scala 是最大的並且不斷增長的,而 F# 和 Clojure 較小並且正在衰減,Haskell 則保持穩定。
上面的圖表中有一個重要的遺漏:去年,有關 TypeScript 的問題流量增長了驚人的 142%,這使得我們需要去除它以避免壓扁比例尺。你還可以看到,其他一些較小的語言的增長速度與 Python 類似或更快(例如 R、Go 和 Rust),而且還有許多標籤,如 Swift 和 Scala,這些標籤也顯示出驚人的增長。它們隨著時間的流量相比 Python 如何?
像 R 和 Swift 這樣的語言的發展確實令人印象深刻,而 TypeScript 在更短的時間內顯示出特別快速的擴張。這些較小的語言中,有許多從很少的流量成為軟體生態系統中引人注目的存在。但是如圖所示,當標籤開始相對較小時,顯示出快速增長更容易。
請注意,我們並不是說這些語言與 Python 「競爭」。相反,這只是解釋了為什麼我們要把它們的增長分成一個單獨的類別,這些是始於較低流量的標籤。Python 是一個不尋常的案例,既是 Stack Overflow 中最受歡迎的標籤之一,也是增長最快的其中之一。(順便說一下,它也在加速!自 2013 年以來,每年的增長速度都會更快)。
世界其他地區
在這篇文章中,我們一直在分析高收入國家的趨勢。Python 在世界其他地區,如印度、巴西、俄羅斯和中國等國家的增長情況是否類似?
確實如此。
在高收入國家之外,Python 仍舊是增長最快的主要編程語言。它從較低的水平開始,兩年後才開始增長(2014 年而不是 2012 年)。事實上,非高收入國家的 Python 同比增長率高於高收入國家。我們不會在這裡研究它,但是 R (其它語言的使用與 GDP 正相關) 在這些國家也在增長。
在這篇文章中,許多關於高收入國家標籤 (相對於絕對排名) 的增長和下降的結論,對世界其他地區都是正確的。兩個部分增長率之間有一個 0.979 Spearman 相關性。在某些情況下,你可以看到類似於 Python 上發生的 「滯後」 現象,其中一個技術在高收入國家被廣泛採用,一年或兩年才能在世界其他地區擴大。(這是一個有趣的現象,這可能是未來文章的主題!)
下一次
我們不打算為任何「語言戰爭」提供彈藥。一種語言的用戶數量並不意味著它的質量,而且肯定不會讓你知道哪種語言更適合某種特定情況。不過,考慮到這點,我們認為值得了解什麼語言構成了開發者生態系統,以及生態系統會如何變化。
本文表明 Python 在過去五年中,特別是在高收入國家,顯示出驚人的增長。在我們的下一篇文章中,我們將開始研究「為什麼」。我們將按國家和行業劃分增長情況,並研究有哪些其他技術與 Python 一起使用(例如,估計多少增長是由於 Python 用於 Web 開發而不是數據科學)。
在此期間,如果你使用 Python 工作,並希望你的職業生涯中進入下一階段,那麼在 Stack Overflow Jobs 上有些公司正在招聘 Python 開發。
via: https://stackoverflow.blog/2017/09/06/incredible-growth-python/
作者:David Robinson 譯者:geekpi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出
推薦閱讀:
TAG:Python |