利用 GitHub 统计分析编程语言发展趋势

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了利用 GitHub 统计分析编程语言发展趋势脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

Donnie Berkholz 分析了 GITHub 的数据,试图通过 GitHub 新建代码仓库的比例,分析编程语言的热度:

说明

关于这张图,有几点需要说明的:

  • 只统计新项目,不包括fork。
  • 包括了 2008-2013 年期间在 GitHub 位居前 10 的语言(不包括编辑器配置语言)。
  • GitHub 最早主要是 Rails 社区在用。
  • 2009年,PErl 暴涨,这是因为 GitPAN 项目把所有的 CPAN 模块都导入了 GitHub。
  • GitHub 的语言检测是根据代码的行数。所以一个项目如果将大量的 JavaScript 库拷贝进去的话,可能会被误认为是 JavaScript 项目。
  • 这里显示的是百分比,而不是数量。所以下降的曲线并不意味着更少的新项目,而是意味着其他语言的增长更快。

趋势

下面我们就每个语言单独给出统计图,以便更清楚地显示单个语言的趋势:

从这些曲线中,我们可以看到这些趋势:

  • GitHub 成为主流: Ruby 曲线的下降,Java、PHP、Python 等曲线的上扬,意味着 GitHub 从 Rails 社区走向主流。
  • JavaScript 的崛起: JavaScript 的增长是最明显的趋势。这部分归功于 Node 的兴起。当然,正如我们上面分析的,其中也包含一些误判的仓库。
  • Windows 和 iOS 开发默默无闻: 令人惊讶的是,C# 和 Objective-C 所占比例很低,而且几乎看不出增长。这说明这两个社区的生态不鼓励开

push

如果不从新建项目的角度来观察,而是从 push 数目来考察,又会有什么结果呢?答案是趋势和新建项目基本一致,只有两处不同:Perl 在 2009 年的 push 数比例增长了 4.1%,而 Ruby 在 2008 年 减少了 3.5%。

这可能是因为项目的主要开发集中在第一年,绝大多数项目 (98%) 只在创建的第 1 年有提交,然后就再也没有修改了。以前的另一项研究表明, 87% 的项目的贡献者不超过 5 人。由于贡献者稀缺,因此项目很难得到长期维护。

issue

从 issue 提交的数目则可以看出使用情况。让我们看一下各语言的 issue 提交趋势:

利用 GitHub 统计分析编程语言发展趋势

这些图形和根据新项目统计的结果相当接近。Ruby、Python、C++ 的峰值应当归功于 GitHub 早期的一些超级流行的项目,当时的 GitHub 上的项目总数还不大,所以统计结果会受这些明星项目的影响较大

撇开这些不论,我们仍能看出一些趋势(侧重于和新项目分析不同的地方):

  • JavaScript 增长趋缓: JavaScript 一直在增长,但是增速有所放缓,趋向于稳定在 25% 左右的比例。从新建项目的统计中也能看出这一点,但是在这里更明显。
  • Ruby 在 2009 年后显著下降:应该可以从上文所说的 GitHub 走向主流得到解释。
  • Java 和 PHP 经过增长之后已趋于稳定: 经过增长之后,两者的比例都稳定在 10% 左右。

用户

如果我们统计使用某语言为主要语言的新用户数,又会有什么结果呢?从这个角度统计,更能反映每个用户的偏好,而不会偏向创建大量仓库、提交大量 issue 的活跃用户。

利用 GitHub 统计分析编程语言发展趋势

从上图中我们可以看到一些趋势:

  • 长期而言,几乎所有语言都呈现下降趋势: 除了 Java 和 CSS 之外,大部分语言都呈现下降趋势。可能的愿意是:使用非主流语言的用户越来越多,有些浅度用户不提交代码,无法判断他们使用的语言,而随着 GitHub 日趋主流,这两类用户越来越多。
  • 就长期而言,Java呈现增长态势: 这是唯一从长期来看呈现增长态势的语言,这点意味着 GitHub 被越来越多的企业用户使用。

比较

将以上的统计结果合并在一起,更方便对比,也更容易排除偶然因素的影响:

利用 GitHub 统计分析编程语言发展趋势

从中很明显的可以看出,GitHub 上主流的语言只有五种: JavaScript、Ruby、Java、PHP 和 Python。此外,CSS 有挤入主流的趋势,C 和 C++ 勉强可以算主流。除此以外的语言所占比例都很低,即使增速极其迅猛的Go目前而言仍然不算主流,还要看未来一两年的发展

碎片化

接下来我们统计上述12种语言之外的语言,结果发现,无论是新增用户数、新项目数,还是 issue 数,总体而言都有明显的增长。

利用 GitHub 统计分析编程语言发展趋势

注意,新用户的增速相比其他两者要高很多,这很可能是因为上面提到的浅度用户增长迅速的原因

总体来说,编程语言日趋碎片化,GitHub 则日趋主流。

原始数据


原文 GitHub language trends and the fragmenting landscape
编译 SegmentFault

脚本宝典总结

以上是脚本宝典为你收集整理的利用 GitHub 统计分析编程语言发展趋势全部内容,希望文章能够帮你解决利用 GitHub 统计分析编程语言发展趋势所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。