扒一扒編程語言排行榜
“我們公司的課程主推Python , 人工智能首選語言, 2019年 排行第一。”
“我們是Java編程課程,Java常年排名第一”
“JavaScript才是編程語言的老大,學它準沒錯。”
有些培訓機構為了突出自己課程的優勢,忽悠更多的人報名,會采用上面的一些排行榜來背書,你到底聽誰的?誰才是最流行的編程語言?
我們今天來扒一扒編程語言排行榜,看完你自然就明白了。
1
首先是大名鼎鼎的TIOBE,這是個老牌的編程語言排行榜,最早的數據可以追溯到2001年。
它每個月都會發布一次,從這個圖中來看,Java 和C 這二十年來交替著占據頭把交椅,并且比目前火熱的Python不知道高到哪里去了。
TIOBE每年還會選一個“編程之星”,展示當年最火熱(上升最多)的語言,可以看出,真是各領風騷兩三年啊。
它的排行是怎么算出來的呢?
非常簡單,就是用關鍵詞去各大搜索引擎去搜索,Google, Bing,MSN,Ebay...... 還有中國的Baidu.com, csdn.net,hao123.com (有沒有搞錯 ?是不是應該把公眾號和知乎也加上?) 每個搜索引擎都有不同的權重。
關鍵詞就是 + "
你說這個排行榜能反映什么呢?它反映了一門編程語言在互聯網上資料的豐富性,一定程度上也反映了是這門語言的流行性。
但它不能直接反映多少人對這個語言感興趣,并且想學這門語言,于是另外一個排行榜應運而生:PYPL, 這個排行榜基于Google trends,但是它把關鍵詞換成了:“
這個排行榜最近(2019年10月)的結果是這樣的:
看,Python 遠遠超過了Java,熱門啊!C/C++ 更是連Python的零頭都不夠,說明想學的人太少了。
2
再來看IEEE Spectrum 編程語言排行榜,IEEE 縱覽,聽起來就非常地高大上。
這個排行榜根據用途把語言分了類:Web開發,企業級開發,移動開發,嵌入式開發, 你在他的網站上可以自己定制。比如我可以只選移動開發這個類別,這樣生成的圖Java就排名第一了。
IEEE 縱覽排行榜 基于好幾個數據源:Google ,Google Trends, GitHub, Twitter, Stack Overflow,Reddit, Hacker News,還有一個找工作的網站叫Career Builder, 還有IEEE 自己的數字圖書館。
它也不僅僅是搜索,對于GitHub它會看代碼倉庫的語言,對于Stack Overflow 它會去看問題的Tag是什么語言。
這個排行榜每年會推出一次,2018年的排行是這樣的:
這個排行榜綜合性比較高,不出意料Python第一,Java第二, 但是JavaScript排行第6,居然是R語言的后面,難以解釋。
IEEE縱覽用到了GitHub和Stack Overflow這兩個數據源, 而另外一個排行榜RedMonk 只用這兩家的數據。但是它與眾不同的是把這兩家的數據給結合了起來,也就說你可以看到有多少項目使用一門語言的同時,還能看到和這個語言相關的有多少個問題在討論。
這是2019年第3季度的數據:
用數據化來排名的話, JavaScript, Java, Python名列前三甲:
1 JavaScript
2 Java
3 Python
4 PHP
5 C++
6 C#
3
GitHub 和 Stack Overflow 看到別人用自己的數據推出流行語言排行榜,肯定也按捺不住啊!
GitHub 每年都會做一次社區調查,包括人(國家和地區,什么時間commit),項目(代碼倉庫,編程語言,交流情況)等, 其中對編程語言也有一個排行榜,基于過去一年pull request的次數。
2018年這個排行榜上前六名是:
1 JavaScript
2 Java
3 Python
4 PHP
5 C++
6 C#
這個排行榜反映了一門語言在開源項目中的使用,但是沒有包括商業軟件和私有軟件
Stack Overflow的做法和上面說的都不一樣,是直接發送問卷給開發人員, 2019年全球有90000個開發人員參與了調查。
最受大家歡迎的編程語言是:
你可以把結果中的HTML/CSS, SQL, Bash等去除, 他們并不是傳統意義上的編程語言。
1 JavaScript
2 Python
3 Java
4 C#
5 PHP
從這個排行榜中可以看到全球開發人員對于編程語言的偏好,但是由于調查人數有限,樣本也不一定全,只能作為參考。
4
這么多的排行榜,想必你也看累了。還有些根據工作職位,面試使用語言所做的排行榜,就不再列舉了。
誰才是最流行的編程語言?別人再“忽悠”的時候,你心中應該有桿秤了。
【本文為51CTO專欄作者“劉欣”的原創稿件,轉載請通過作者微信公眾號coderising獲取授權】