(伯乐在线注:对于“年度语言”奖项,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份额数字一直相当稳定。
英文原文:pydatalog,编译:伯乐在线——黄利民