知名軟體行業分析公司 RedMonk 發布了 2020 年 6 月(Q3 季度)程式語言排行榜。
RedMonk 程式語言排行榜通過追蹤程式語言在 GitHub 和 Stack Overflow 上的代碼使用情況與討論數量,統計分析後進行排序,其旨在深入了解潛在的語言採用趨勢。該榜單一年發布兩次,這是今年第二份榜單,上一次榜單發布是在 3 月份,即第一季度程式語言排行。
目前 RedMonk 對程式語言的排序算法基本思路沒有變化,但是具體過程改變了。現在使用 GitHub Archive 作為數據源對 GitHub 數據進行分析;而 Stack Overflow 部分則直接使用其提供的實用工具 data explorer,具體排序算法見官方介紹。
下面先來看看 RedMonk 2020 年 Q3 季度的程式語言排行榜前 20 名:
排名 2020 年 6 月 2020 年 1 月 2019 年 6 月 1 JavaScript JavaScript JavaScript 2 Python Python, Java Java 3 Java Python 4 PHP PHP PHP 5 C++, C# C# C++ 6 C++ C# 7 Ruby Ruby, CSS CSS 8 CSS Ruby 9 TypeScript TypeScript, C C 10 C TypeScript 11 Swift, Objective-C Swift Swift 12 Objective-C Objective-C 13 R Scala, R Scala 14 Scala Shell 15 Go, Shell Go, Shell R 16 Go 17 PowerShell, Perl PowerShell, Perl PowerShell 18 Perl 19 Kotlin Kotlin Haskell 20 Rust Haskell Kotlin
總體來說,較上一個季度來看,排名並無什麼變化。前 20 名相當穩定,除了首次進入前 20 的 Rust 和掉出去的 Haskell。接下來看看值得關注的點:
Python(0):此前上升至第二位,本季度保持不變。但 Python 確實打破了 JavaScript 和 Java 長久以來霸佔前兩位的情形,並維持了下來。RedMonk 官方指出,「Python 是成千上萬個小型項目的粘合劑,也是無數個個人腳本的基礎,其中包括一些為這些排名檢索數據的腳本。無論是幾年前的數據科學還是 GPT-3 的今天,它都在新興和不斷擴展的類別中立足」。預計 Python 接下來仍將保持良好的勢頭。
Java(-1):Java 排名下降了一位,但這樣的細微差別也不一定意味著什麼。畢竟排名中各個位置之間的差異很小,任何一個季度的排名只是一個快照,出現暫時性波動是很正常的。不過,這是自 2012 年以來,Java 第一次排在前兩名之後,傳統語言如 Java 在今天面臨的挑戰顯然增多了。接下來幾個季度持續進行觀察,才會知道這一變化只是暫時的,還是長期流行度下降的先兆。
Rust(+1):Rust 進步一位,看起來微小的變動,使它躋身前 20。五年前的這個季度,Rust 排名 48,比 Haskell、Matlab、Clojure 和 Groovy 等語言落後近 30 位。現在它不但超越了這些語言,而且似乎有著更長足的潛力。RedMonk 認為,「考慮到它的性質和重點,它可能會像 Go 一樣,在十幾歲時達到上限,問題是它達到目標的速度會有多快。」
Kotlin、Dart、Julia(0):這三種語言在本季度沒有名次上的變化。如果跟以往相比的話,Kotlin 在五年前排名 68,比 Rust 還落後 20 位,但此刻比 Rust 高一名。但除開歷史性增長,近期這幾類語言似乎停滯了。RedMonk 表示,與上一期相比,此次跟蹤的相關語言的 Stack Overflow 標籤增長率為負(-16%),討論度顯著降低。
TypeScript(0):TypeScript 一年前進入前 10 後,保持住了這個地位,要維持高排名也算是一項挑戰。同樣地,TypeScript 的問題是該語言的潛在上限。它能否在前 10 的後半部分名列前茅,甚至衝進前 5?我們靜觀其變。
下圖是 RedMonk 2020 年 6 月的程式語言整體排名情況:
原標題:RedMonk 2020 年 Q3 程式語言排行:Python 第二,Rust 首次進入前 20