衡量语言流行趋势的最佳客观方法是什么?(有什么比TIOBE更好?)


15

我知道,获得有关计算机语言流行程度的数据的最佳方法是TIOBE索引。但是每个人都知道 TIOBE毫无瑕疵。(如果有人提供了支持此操作的链接,我将在此处添加它。)

那么,是否有关于编程语言流行度的任何数据通常被认为有意义?我知道的唯一另一种选择是查看确实存在的缺陷,确实基于工作职位的确有误。

好像我不会仅根据索引来决定将来的语言,但是它可以平衡与朋友和同事交谈所获得的偏见。

为了说明这种偏见,我将指出,根据我个人的经验,当今(按流行程度排序)当今专业使用的唯一语言是Java,C#,Groovy,JavaScript,Ruby,Objective C和Perl。(尽管很明显,过去使用了C,C ++和PHP。)

所以我的问题是,每个人都取材于TIOBE,但是还有其他东西吗?如果是这样,谁能解释我们如何知道替代方法具有更好的方法?谢谢。

Answers:


14

一种替代方法是查看StackOverflow上每种编程语言标签的问题数量。

我设置了一个快速查询来做到这一点:按标记发布计数

毫不奇怪,鉴于该社区的性质,C#具有相当大的领先优势。

当然,这也偏向于那些由于易用性而使询问问题的人较少的语言。


+1不错的页面,同时也弥补了该方法的缺点...
Rook

10
SO最初是由Jeff和Joel的博客提倡的,因此产生了强烈的.NET偏见。这如何影响其随后的社区值得怀疑。例如,那里有很多C ++人员,但这反映了任何实数吗?
David Thornley,2010年

这就是为什么我说“鉴于该社区的性质,C#具有相当大的领先优势”。
JohnFx

10
关于SO上特定语言的问题数量是衡量其受欢迎程度还是衡量其晦涩度?
罗伯特·哈维

1
“当然,这也偏向于那些由于易用性而使问问题的人更少的语言。”:很好的观察!+1
Giorgio

6

正如我之前评论过的

“但是没有更好的方法来衡量语言的流行程度” -这是因为没有必要。毫无意义的人都不会在乎排名-只要您的语言还活着并按照您的要求做,就不必担心排名会很愚蠢。


此类数据有用的原因有多种。但是出于这些原因,也许TIOBE足够好。
埃里克·威尔逊

如果您要陈述这些原因,我相信我自己和其他人可以证明他们不明智和/或TIOBE没有解决这些问题。
彼得·布顿

例如,在向一个14岁的新手程序员教授Java之前,是否对Java产生了兴趣,这是否明智呢?一个好的索引永远不会为这个问题提供答案,但是说好的数据在任何决策中都没有用,真是令人难以置信。
埃里克·威尔逊

4
不要将Java教给14岁的新手程序员。向他们教编程。当然,如果需要的话,可以从Java开始,但可以将其用作教他们可转让技能的工具。只知道一种语法和范例是不明智的,学习目前可能不那么流行的语言也不有害。(例如,iPhone SDK到货之前,Obj-C的体积是多少?)
Peter Boughton,2010年

1
从一种语言(几乎所有语言)开始,到一个交互式解释器。不要以Java或任何需要单独编译步骤的语言开始。
凯文·克莱恩

5

想要广告 -尽管它们可能不是国际社会的最佳选择,但它们往往是您工作所在地区的一个很好的衡量标准。如果你突然开始看到一个寻找谁知道语言的开发者广告的X时,曾经有找,谁知道语言的开发者广告ÿ和这些趋势持续数月,这可能表明在人气您所在地区的转移。


1
问题在于,希望广告是一个滞后指标,而运营商似乎想要一个领先指标。
dsimcha

3
的确,Indeed.com拥有用于此类研究的好工具(确实。com/…
JohnFx 2010年

当然,我提到的确实是come.com
埃里克·威尔逊

2
这不是供需,这只是需求。
jk。

3

出于相同的原因,您几乎遇到了这里描述的麻烦:http : //blog.timbunce.org/2008/04/12/tiobe-or-not-tiobe-lies-damned-lies-and-statistics/您将要去与其他任何“假装说在许多人群中流行的”排名有类似的问题。

无法将已发货的单位与下载的单位进行比较

从网站或商业软件中获取使用中的数字会缩短研究或数学中使用的语言,因为这些内容不会被公开。

对趋势进行任何处理或对关键字进行分析很可能是时髦的或流行语。

除非您有目标区域,否则很难提出更好的建议。我想根据您提到的语言,您可能会对时尚方面更感兴趣,但作为一般性回答,这并不好,因为可能有相等数量的人对长期术语感兴趣。


3

我看到的唯一方法是对人口的一般调查。类似于政治民意测验者进行的电话调查。您可能必须召集100,000个随机人员才能接触到足够的自称是程序员的人员才能使结果有效。然后问他们使用什么。

您需要执行此操作的原因是,每个在线指示器都是自选的,因此不正确。Tiobe,Google搜索,SO帖子等。您也无法查看会议出席或杂志订阅。

如果需要实际使用统计信息,则需要调查总体人口。


1

Google趋势是您可以使用的另一种趋势。

此空间中没有100%正确的答案或数据源。最好的办法是汇总来自各种来源的数据,并据此得出尽可能准确的结论。


1

调查一堆主要的开放源代码存储库,并测量每周每种语言要提交多少行新代码,这很有趣。不确定实际数字会告诉您什么,但是随着时间的推移趋势可能会非常明显。

我喜欢这种方法,因为它更多地取决于用语言完成的实际工作量,而不是光泽的事物使人们感到困惑(这是google / so搜索/问题率受以下方面的严重影响)我认为)。

当然,我提出的指标也存在各种各样的问题。FOSS世界是现实世界的子集,某些语言倾向于特定的存储库(您可能会错过),某些语言效率更高,而所有其他与LOC指标相关的问题。也许每种语言中的“提交次数”会更有用。

有人知道今天是否有这样的统计资料吗?似乎应该可以执行Ohloh / Koders / Krugle的操作。



-1

每个人都说“有点想念”,而且除了搜索字词结果外,您都无法从中看到未来的趋势,您还会引起很多人谈论为什么“老语言”比那时更好“新的流行语言”,从而使结果偏斜。

“语言受欢迎程度”网站的确尝试汇总了来自各个网站的大量语言搜索,以提供概述,但只有它们能够说明哪些语言在哪些网站上受欢迎,并让您决定哪种才有意义,例如,Google喜欢C, Yahoo喜欢C ++,而Craigslist喜欢PHP。(自解散以来的网站)

我认为最好的一个是就业市场 -招聘广告中使用最多的语言是一个公平的指标,同时也为他们提供了薪水。


语言流行网站(langpop.com)现在尝试在浏览器中安装扩展程序。不要点击链接,或小心翼翼。
Ellen Spertus

@EllenSpertus我尝试时它是死链接。现在更新。
gbjbaanb
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.