RedMonk 編程語言排行榜,說 Go 正走向衰退,你認(rèn)可嗎?
大家好,我是站長 polarisxu。
2021 年 3 月 1 日,RedMonk 發(fā)布了 2021 年 1 月 編程語言排行榜(實(shí)際是 1 月 和 2 月的數(shù)據(jù))。
先介紹下這個(gè)排名的依據(jù)。RedMonk 從 GitHub 和 Stack Overflow 中提取語言排名,并將它們合并為一個(gè)排名,試圖反映代碼(GitHub)和問答(Stack Overflow)的吸引力。這個(gè)想法并不是為了提供一個(gè)統(tǒng)計(jì)上有效的當(dāng)前使用情況的表示,而是為了將語言的問答和使用聯(lián)系起來,努力提取對潛在的未來使用趨勢的洞察。
01
那這個(gè)排名具體是怎么得來的呢?
對于 GitHub,使用的數(shù)據(jù)源是 GitHub Archive(即某個(gè)具體歸檔點(diǎn),參考:https://archiveprogram.github.com/)。
- 基于倉庫的主語言;
- 排除了 fork;
- 使用聚合歷史來確定排名;
對于 Stack Overflow,使用其有用的數(shù)據(jù)瀏覽器工具收集所需的指標(biāo)。
一些注意事項(xiàng):
- 要包含在這個(gè)分析中,必須是 GitHub 和 Stack Overflow 中都有的語言;
- 這里沒有說這些排名代表了它的廣泛使用程度。它們只不過是對兩個(gè)人群之間相互關(guān)系的檢驗(yàn),相信這兩個(gè)人群可以預(yù)測未來的使用情況,因此它們具有一定價(jià)值;
- 有許多潛在的社區(qū)可以被用來進(jìn)行這種分析。選擇使用 GitHub 和 Stack Overflow 是因?yàn)樗鼈兊囊?guī)模,其次是因?yàn)樗鼈児_了分析所需的數(shù)據(jù)。然而,RedMonk 鼓勵(lì)有關(guān)各方使用其他數(shù)據(jù)來源進(jìn)行自己的分析;
- 所有的數(shù)字排名都應(yīng)該加了一些鹽值。在這里嚴(yán)格按照數(shù)字排名是為了引起興趣。一般來說,數(shù)字排名和語言的層次或分組無關(guān)。在許多情況下,列表中的一個(gè)點(diǎn)與下一個(gè)點(diǎn)是無法區(qū)分的。
- 排名越下降,可用于語言排名的數(shù)據(jù)就越少。
- 那些在 Stack Overflow 之外擁有社區(qū)的語言,如 Mathematica,在這個(gè)軸上的代表性不足。衡量 100 個(gè)不同社區(qū)站點(diǎn)的過程是不可能的,一方面是因?yàn)樵S多站點(diǎn)沒有可用的公共指標(biāo),另一方面是因?yàn)椴煌鐓^(qū)站點(diǎn)之間的相互衡量在統(tǒng)計(jì)學(xué)上是不正確的;
02
RedMonk 提供了一個(gè)圖表:
但這張圖,看起來挺費(fèi)勁的。于是 RedMonk 提供了一份數(shù)字排名:
- 1 JavaScript
- 2 Python
- 3 Java
- 4 PHP
- 5 C#
- 5 C++
- 5 CSS
- 8 TypeScript
- 9 Ruby
- 10 C
- 11 Swift
- 12 R
- 13 Objective-C
- 14 Shell
- 14 Scala
- 16 Go
- 17 PowerShell
- 18 Kotlin
- 19 Rust
- 19 Perl
接著 RedMonk 對這個(gè)排名和上次的變化做了分析。這里著重看看對 Go 語言的分析:
首先,Go 語言相比上次下降了一位。RedMonk 提到,Go 的排名不如它的發(fā)展軌跡重要,也就是說,Go 的排名沒那么重要,關(guān)鍵在于它的發(fā)展軌跡。RedMonk 認(rèn)為,在經(jīng)歷了最初的快速增長期,并在 2018 年以第 14 位的排名達(dá)到頂峰之后,Go 語言充其量只是一種靜止的語言,可以說正在走向衰落。
這結(jié)論也太草率了吧?排名降了一點(diǎn),就說它走向衰退了?RedMonk 進(jìn)一步解釋:
這其中的一些原因可以 Go 的應(yīng)用市場相對于其他語言來說更窄。Red Monk 認(rèn)為,Java 是后端應(yīng)用程序的主要競爭對手,在經(jīng)歷了這么多年的服務(wù)之后,它仍然是一種非常重要且被廣泛使用的語言,而不是逐漸消失。
用 Java 做對比,似乎無法反駁?然而,畢竟 Java 這么多年了,體量和生態(tài)在那擺著。想想世界上最好的語言 PHP,在這個(gè)名單中依然排在第 4,但國內(nèi)普遍還是認(rèn)為 PHP 在走下坡路。很多 PHPer 都在學(xué)習(xí) Go。
RedMonk 進(jìn)一步提到說,如果 Go 希望成為真正的行業(yè)力量,必須做一些改變。文中提到要在 path 和 structure 上改變。實(shí)話說,不知道這指的是什么。
不可否認(rèn),世界上沒有銀彈,Go 自然也有它的不足,哪門語言不是呢?!但 Go 這幾年越來越受歡迎,肯定由它的原因。我從 Go 語言中文網(wǎng)的流量數(shù)據(jù)以及這幾年國內(nèi)大廠的招聘情況,很明顯的感覺到,Go 在國內(nèi)熱度持續(xù)上升,甚至上升的速度比之前更快!(上周發(fā)布的騰訊研發(fā)大數(shù)據(jù)結(jié)果,Go在鵝廠已經(jīng)成為第二大語言了,超好了 JavaScript)
03
此外 RedMonk 還有對其他一些語言的分析、評價(jià),整體上,我很不認(rèn)可通過這個(gè)排名做出的一些判斷(哈哈哈,不知道有沒有個(gè)人情感因素在里面)。你怎么認(rèn)為?歡迎交流!
詳細(xì)排名和分析見 https://redmonk.com/sogrady/2021/03/01/language-rankings-1-21/