知名軟體行業分析公司 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 月的程式語言整體排名情況:

自 開源中國