几周前我提到过如何通过使用git的提交元数据(metadata)和Rapleaf API来收集Github上热门组织的一些统计资料(日志,每个组织的数据)。
现在我又对这些数据按编程语言而不是组织进行划分产生了兴趣。网上关于各编程语言对应的屌丝程序员的描述比比皆是,但我还是很好奇它们是如何与现实中的人们对应起来的。一开始,我想先简单地统计一下每种编程语言使用者的年龄、收入和性别。基于我已经收集的数据,这一工作还是比较轻松的:
对于统计每个repo使用的编程语言,我使用Github自带的语言统计结果。例如,Github估计这个项目中75%是java代码。
统计了每个项目中某种语言代码占用大于50%的那些贡献者的收入,过滤出那些收入点>100的编程语言。
下面是收入的统计结果,升序排列:
这是上表对应的柱状图:
对于大多数语言的排名还是比较符合预期的,得出了一下结论:
Haskell是一种非常学术化的(academic)语言,因此学术界不会以薪资而闻名。
PHP是一种非常通用的语言,普通的、年轻的、低收入的程序员都可以上手。
从图谱右侧最高的部分可看出,Java和ActionScript多用于企业级软件的开发,因此其薪资待遇是相当的可观。
另一方面,由于对某些语言,像XSLT, Puppet, CoffeeScript不太熟悉,大家知道为什么这些语言排名较高或收入较低吗?
需要说明的是:
• 所有这些数据都来自开源项目,因而可能无法精确地体现那些闭源开发者们的收入水平。
• Rapleaf并没有完全统计所有人的收入,因此数据可能存在偏差。
• 数据(年龄、性别……)有误差
• 没有对Github上所有项目进行统计,因此结论可能不具有代表性。