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