扒一扒程式語言排行榜

碼農翻身發表於2019-10-21

“我們公司的課程主推Python , 人工智慧首選語言, 2019年 排行第一。”  

640?wx_fmt=jpeg

“我們是Java程式設計課程,Java常年排名第一”

640?wx_fmt=jpeg

 “JavaScript才是程式語言的老大,學它準沒錯。”

640?wx_fmt=jpeg

有些培訓機構為了突出自己課程的優勢,忽悠更多的人報名,會採用上面的一些排行榜來背書,你到底聽誰的?誰才是最流行的程式語言? 

我們今天來扒一扒程式語言排行榜,看完你自然就明白了。 

1

首先是大名鼎鼎的TIOBE,這是個老牌的程式語言排行榜,最早的資料可以追溯到2001年。

它每個月都會發布一次,從這個圖中來看,Java 和C 這二十年來交替著佔據頭把交椅,並且比目前火熱的Python不知道高到哪裡去了。 

640?wx_fmt=jpeg

 TIOBE每年還會選一個“程式設計之星”,展示當年最火熱(上升最多)的語言,可以看出,真是各領風騷兩三年啊。 

640?wx_fmt=jpeg

它的排行是怎麼算出來的呢? 

非常簡單,就是用關鍵詞去各大搜尋引擎去搜尋,Google, Bing,MSN,Ebay......  還有中國的Baidu.com, csdn.net,hao123.com (有沒有搞錯 ?  640?wx_fmt=gif 是不是應該把公眾號和知乎也加上?) 每個搜尋引擎都有不同的權重。 

關鍵詞就是  + "<language> programming" ,根據各個語言的返回結果的數目,代入一個公式,結果就出來了。 

你說這個排行榜能反映什麼呢?它反映了一門程式語言在網際網路上資料的豐富性一定程度上也反映了是這門語言的流行性。

但它不能直接反映多少人對這個語言感興趣,並且想學這門語言,於是另外一個排行榜應運而生:PYPL, 這個排行榜基於Google trends,但是它把關鍵詞換成了:“<language> tutorial”既然tutorial的資料多, 那想學習的這門語言的人應該也比較多吧。 

這個排行榜最近(2019年10月)的結果是這樣的: 

640?wx_fmt=jpeg

看,Python 遠遠超過了Java,熱門啊!C/C++ 更是連Python的零頭都不夠,說明想學的人太少了。 

2

再來看IEEE Spectrum 程式語言排行榜,IEEE 縱覽,聽起來就非常地高大上。 

這個排行榜根據用途把語言分了類:Web開發,企業級開發,移動開發,嵌入式開發, 你在他的網站上可以自己定製。比如我可以只選移動開發這個類別,這樣生成的圖Java就排名第一了640?wx_fmt=gif

IEEE 縱覽排行榜 基於好幾個資料來源:Google ,Google Trends, GitHub, Twitter, Stack Overflow,Reddit, Hacker News,還有一個找工作的網站叫Career Builder, 還有IEEE 自己的數字圖書館。 

它也不僅僅是搜尋,對於GitHub它會看程式碼倉庫的語言,對於Stack Overflow 它會去看問題的Tag是什麼語言。 

這個排行榜每年會推出一次,2018年的排行是這樣的:

640?wx_fmt=jpeg

這個排行榜綜合性比較高,不出意料Python第一,Java第二, 但是JavaScript排行第6,居然是R語言的後面,難以解釋。 

IEEE縱覽用到了GitHub和Stack Overflow這兩個資料來源, 而另外一個排行榜RedMonk  只用這兩家的資料。但是它與眾不同的是把這兩家的資料給結合了起來,也就說你可以看到有多少專案使用一門語言的同時,還能看到和這個語言相關的有多少個問題在討論。 

這是2019年第3季度的資料: 

640?wx_fmt=png

用資料化來排名的話, JavaScript, Java, Python名列前三甲: 

1 JavaScript 

2 Java 

3 Python 

4 PHP 

5 C++ 

6 C# 

3

GitHub 和 Stack Overflow 看到別人用自己的資料推出流行語言排行榜,肯定也按捺不住啊 640?wx_fmt=gif 

GitHub 每年都會做一次社群調查,包括人(國家和地區,什麼時間commit),專案(程式碼倉庫,程式語言,交流情況)等, 其中對程式語言也有一個排行榜,基於過去一年pull request的次數。 

2018年這個排行榜上前六名是: 

1 JavaScript 

2 Java 

3 Python 

4 PHP 

5 C++ 

6 C#  

這個排行榜反映了一門語言在開源專案中的使用,但是沒有包括商業軟體和私有軟體 

Stack Overflow的做法和上面說的都不一樣,是直接傳送問卷給開發人員, 2019年全球有90000個開發人員參與了調查。

最受大家歡迎的程式語言是: 

640?wx_fmt=jpeg

你可以把結果中的HTML/CSS, SQL, Bash等去除, 他們並不是傳統意義上的程式語言。 

1 JavaScript 

2 Python 

3 Java 

4 C# 

5 PHP 

從這個排行榜中可以看到全球開發人員對於程式語言的偏好,但是由於調查人數有限,樣本也不一定全,只能作為參考。 

4

這麼多的排行榜,想必你也看累了。還有些根據工作職位,面試使用語言所做的排行榜,就不再列舉了。 

誰才是最流行的程式語言?別人再“忽悠”的時候,你心中應該有桿秤了。


關於作者:

往期精彩回顧

640?wx_fmt=jpeg

相關文章