就“2012 年度程式語言”到底是誰,PYPL 網站近日發文稱,“TIOBE 程式設計社群指數有誤,Objective-C 並非是2012年度語言,C#才是2012年度語言”。的確,如果按照 PYPL 指數來看,C# 在2012年內的普及份額(popularity share)增長量最高:+1.8 %。如果按過去5年中份額增長量來算,Python 則是增長速率最快的語言。
(伯樂線上注:對於“年度語言”獎項,TIOBE 指數和 PYPL指數都是授予年度內市場份額增長量最高的程式語言。)
PYPL 人氣指數(PopularitY of Programming Language index)是分析使用者在Google中搜尋各種程式語言教程(tutorial)的數量來推斷程式語言的受歡迎程度/人氣(popularity),特 定語言教程(tutorial)的搜尋量越多,則認為該語言更受歡迎。PYPL 指數是一種先行指標(leading indicator),其原始資料來自 Google 趨勢,所以大家都可以去驗證,或者針對自己所在國度做分析。
如果你相信集體智慧的結晶,那PYPL程式語言人氣指數有助於你決定學習哪種語言,或者在新專案中使用哪種語言。下面是 PYPL 指數排行榜 Top 10。
PYPL 指數排行榜 Top 10
PYPL 人氣指數長期趨勢圖
上圖透露的一些資訊:
●Java 和 JavaScript 相對非常穩定;
●PHP有點頹勢,哪種語言會借其下降而上位?這尚無定論,也言之過早。
●在2009-2011年期間,C#和C語言都有奇特的波動;
●C#的增長是以 C 和 Basic為代價
●Python的增長是伴隨著 Perl的衰落
FAQ
1. 為什麼 PYPL 和 TIOBE 如此不同?
TIOBE 指數是一種滯後指標。它是統計包括特定語言名稱的網頁數量。Objective-C有超過2800萬網頁[s],而 C 語言只有 1100 萬[s]。 這也就解釋了為什麼 Objective-C 在 TIOBE 有更高的排名。但是哪些人會去看那些 Objective-C 網頁呢?根據 Google 趨勢資料,幾乎沒什麼人。Objective-C tutorial 的搜尋量不到 Javascript tutorial 的搜尋量的 1/6[s],而 Javascript 大約有 7.4% 的搜尋份額(見上圖),所以 Objective-C 也就差不多是 1.2 %。
分析 StackOverflow 網站上各種語言的標籤數量,或者分析維基百科上各程式語言詞條頁面訪問數比例[s],Objective-C 都是相似排名。此外,TIOBE 使用 “programming”一詞作為搜尋短語也是有誤導的(請參見下一個問題)。
2. 為什麼你們 PYPL 採用“tutorial”作為 Google 趨勢中的關鍵詞?
我們採用瞭如下原則:
●只用程式語言的名稱,會導致不一致的結果。比例:Python,它就還有其他很多意思。
●相同的搜尋短語適用於所有程式語言,有一致性;
●而“programming”則沒有,“C programming” 使用頻率比“ PHP programming ”高很多,因為 PHP 並不需要限定詞;
●不管開發人員學習任意一種新語言,“tutorial”詞語都是高頻使用,所以它是非常好的先行指標。
雖然“tutorial”是英文詞語,不過如果有需要,PYPL 指數也可去統計其他語種。
3. 你們如何計算搜尋引擎份額?
我們以 CSV 格式匯出 Google 趨勢資料[s],然後在匯入到 Excel 中作分析。連續兩兩比較,從 Java – PHP 到 Ruby – Perl,並計算每對在每週的比例(超過四周則使用平均值,以減少噪音值)。
4. 為什麼在 PYPL 圖表中 Java 曲線這麼平穩,而在 Google 趨勢中 Java 超過5年都下降了?
那 是因為 Google 趨勢圖表顯示了“tutorial”搜尋總數在總體時間中變化。另外那段時間中大部分程式語言(大多數關鍵詞)都嚴重下降了。相反,PYPL 圖表是顯示“Java tutorial”短語搜尋量在所有語言“tutorial”搜尋中的份額,從2004年開始,java份額數字一直相當穩定。
文章連結:http://blog.jobbole.com/31326/