SO 标签排序是否能很好地代表编程语言的流行程度?
SO 标签排序是否能很好地代表编程语言的流行程度?
我的第一个猜测是事实并非如此,而且它主要由 Jeff 的粉丝(他们可能偏向 .Net)和 Joel 的粉丝(他们可能更偏向 C/C++)组成。
有没有办法获得公正的编程语言流行度统计数据?
Is the SO tag ordering a good representation of programming language popularity?
My first guess would be that it's not and that it's largely populated by fans of Jeff (who would probably be .Net biased) and fans of Joel (who may be more C/C++ biased among others).
Is there a way to get unbiased programming language popularity stats?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
我是 LangPop.com 的创建者,该网站通过衡量许多指标来尝试衡量受欢迎程度。 我的理念是简单地尝试和衡量许多不同的事物,让人们看到结果并自行判断。 所有指标都有缺陷、偏见和优点。
就 SO 标签而言,除了 C# 之外,它们看起来相当准确,但存在巨大的 C# 偏差,所以暂时我认为不会将 SO 包含在 LangPop 结果中。 不过,我正在关注它。 我正在关注的另一个例子是 GitHub,它拥有大量的 Ruby 项目,但仍然过于偏向。
I'm the creator of LangPop.com, which measures a number of metrics to try and gauge popularity. My philosophy is to simply try and measure a lot of different things and let people see the results, and judge for themselves. All of the metrics have flaws, biases and advantages, too.
In terms of SO tags, besides C#, they look fairly accurate, but there's a huge C# bias, so for the time being I don't think I will include SO in the LangPop results. I am keeping an eye on it, though. Another example of something I'm keeping my eye on, but that is still way too biased is GitHub, which has a huge number of Ruby projects.
Stackoverflow 是一个存在极大偏差的样本,标签计数可能会进一步扭曲数据。 由于 Joel Spolsky 是 SO 的主要营销工具,而且他偏爱 Microsoft 技术,因此此处的代表人数过多。 当对其他平台感兴趣的人意识到该网站不适合他们并停止参与时,这种偏见就会被放大。
Tiobe 调查被广泛引用作为一种手段衡量语言流行度。 与任何调查一样,它也有缺陷,但至少它是为了衡量受欢迎程度而设计的。
Stackoverflow is an extremely biased sample, and the tags counts may further distort the figures. Because Joel Spolsky is a primary marketing tool for SO, and he favors Microsoft technology, it's greatly over-represented here. The bias is then amplified as people interested in other platforms sense that this site isn't for them and stop participating.
The Tiobe survey is widely cited as a means of gauging language popularity. Like any survey, it has flaws, but at least it was intended for the purpose of measuring popularity.
有两个很好的网站可以跟踪此类事情...
LangPop
TIOBE
虽然我希望他们在那里展示 C#对于 Java,对于大多数地方仍在使用 Java,或者人们正在寻找 Java,或者有很多 Java 工作,我并不感到惊讶。 我没有任何特别的理由认为他们存在不公平的偏见。
There are two good sites that track these sorts of things...
LangPop
TIOBE
Although I wish they showed C# right up there with Java, I'm not that surprised that most places are still using Java, or people are searching for Java, or there are lots of Java jobs. I don't have any particular reason to think they are being unfairly biased.
这可能不是一个很好的表述,除了您发布的原因之外,还可能是某些技术是新的,并且其他地方几乎没有可用的帮助,最终会在 SO 上得到更多帮助。
某些技术非常稳定,因此问题会更少,您身边总会有专家,或者一些专门的社区/论坛网站,例如 Oracle 或 Microsoft 产品的社区/论坛网站。
It may not be a good representation, apart form the reason you have posted, it would also be that certain techonolgies are new and there is very little help available elsewhere and would end up more on SO.
Certain techonologies are quite stable and hence hence the questions would be less, you would always have expert nearby, or some dedicated communities/forum sites like the ones for Oracle or Microsoft products.
我认为 SO 标签排序对于语言流行度来说是一个非常非常粗略的指南。 数字+/-一个因素或2或3,上面有大数字的标签可能反映了一般现实。 然而,数字较小的标签可能在其他领域得到更充分的体现。
一旦论坛开始显示偏好,人们就会或多或少地被该论坛吸引,具体取决于该偏好与他们的匹配程度。 因此,除了你提到的那些之外,还存在选择效应。 有很多地方可以寻求帮助,但某些语言在网络上已经存在更好的资源。
获得公正的编程语言流行度统计数据确实很困难。 我想你可以查看简历,看看人们宣传他们知道什么,但这受到他们认为会让人雇用他们的影响。 你可以看看招聘广告,但这也有偏见。 如果懂一种语言的人换工作的频率是懂另一种语言的人的两倍,那么在其他条件相同的情况下,你会看到为前者提供的工作机会更多。
I would expect that SO tag ordering is a very, very rough guide to language popularity. Figure +/- a factor or 2 or 3, the tags with large numbers on them may reflect general reality. The tags with smaller numbers, however, may be more fully represented in other arenas.
Once a forum starts show a preference, people will be attracted to that forum more or less depending on how that preference matches their. Thus, there's a selection effect in addition to the ones you mentioned. There are many places to find help, but some languages have better resources preexisting on the network.
It is truly difficult to get unbiased programming language popularity stats. I suppose you could look at resumes to see what people advertise they know, but this is influenced by what they think will get someone to hire them. You could look at jobs advertised, but this also has biases. If people who know one language change jobs twice as often as people who know another language, then you'll see more jobs offered for the former, all other things being equal.
我认为它会根据你如何定义“受欢迎程度”而有很大差异,但可能不会有“公正”的代表。
语言的受欢迎程度将根据您观察的领域/人群而有很大差异:Php 可能会被 Web 开发人员广泛使用(如果不是一定流行的话),游戏开发人员可能会告诉您 C++ 和 Flash/AS 是的 编程的全部和最终目的是,Windows 开发人员目前可能广泛采用 C#,...
可以通过查看工作机会、博客、论坛、Stack Overflow 来观察趋势,但你赢了只不过是一种趋势,而且我认为没有什么真正普遍到有任何用处。
I think it will vary pretty heavily depending on how you define "popularity", but there probably will be no such thing as an "unbiased" representation.
Language popularity will vary greatly depending on which field/population you observe : Php is likely to be vastly used (if not neccesarily popular) by web developpers, Game developpers will probably tell you that C++ and Flash/AS are the be-all and end-all of programming, Windows developpers are probably widely adopting C# at the moment, ...
It might be possible to observe tendencies by looking ie at Job offers, Blogs, Forums, Stack Overflow, but you won't get much more than a tendency, and nothing really general enough to be of any use I think.
ohloh.net 有一些非常好的指标。 它从一系列项目的版本控制存储库中读取并提供图表。
在 Ohloh 比较语言
ohloh.net has some pretty good metrics. It reads from version control repositories for a bunch of projects and provides graphs.
Compare languages at Ohloh