就“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 PopularitY of Programming Language index Top 10 in 2013 Jan

PYPL 人氣指數長期趨勢圖

PYPL PopularitY of Programming Language index Longtern Trends in 2013 Jan

上圖透露的一些資訊:

●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份額數字一直相當穩定。

英文原文:pydatalog,編譯:伯樂線上——黃利民

文章連結:http://blog.jobbole.com/31326/