Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

一鸣 李亚洲报道

GitHub年度报告出炉:中国开源贡献仅次美国、Python成第二热门语言

今日,Github 发布年度报告。作为开发者社区最大的开源项目托管平台,Github 的年度 Octoverse 报告能为我们了解开发社区提供最直接的洞见。报告中最明显的两个趋势是:中国开源贡献仅次于美国,Python 超越 Java 成为第二受欢迎的编程语言

4000 万开发者,80% 美国用户

据报告介绍,当前使用 Github 的开发者数量超过 4000 万,大部分来自美国(80%)。过去一年时间,约有 1000 万新的开发者用户加入,超过 44% 用户在 2019 年创建了自己的首个 repo,130 万开发者首次为开源项目做贡献。

学校中的学生正在成长为下一代开发者,今年超过 76 万开发者在 Github 上学习,Github 上共有 170 万学生在上面学习编程,比去年多了 55%。

仅次于美国,中国开发者贡献大量开源项目

开源成为了当前推动开发社区前进的一大手段。据报告显示,从 2014 年开始,非美国的开发者贡献就超过了美国。

下图则展示了美国之外,使用开源项目最多的 20 个国家和地区。当前,Github 上约有 300 万公司/组织账号,除了美国外,去年中国、印度、德国的开源使用最多。其中,中国的开发者去年 fork、clone 了超过 48% 的项目。

JavaScript 霸榜,Java 被 Python 超越

从编程语言的受欢迎程度(即代码库贡献)来看,JavaScript 多年来一直处于榜首。而榜单第二名则在今年从 Java 变成了 Python。此外,C# 和 Shell 语言在今年的排名也出现了上升。

从包管理工具上也可以看到相似的趋势。上榜的每个编程语言的生态系统都十分活跃,依赖项目都很多。

而最快增长的语言方面,Dart 是增长最快的编程语言。此外,Rust、Kotlin 和 TypeScript 的社区都在快速增长。

最受欢迎的开源软件和项目

今年,最受欢迎的开源项目已经有 10K 的贡献者。其中,有两个自从 2016 年就已经上榜:vscode(微软)和 ansible。在 2019 年新上榜的有:flutter、first-contributions 和 home-assistant。

图注:今年的项目排行榜。

年度高光项目:TensorFlow

TensorFlow 被评为今年的高光项目,这是因为它是 GitHub 上面最受欢迎的项目之一。有上千名开发者对 TensorFlow 的依赖进行了贡献,包括 Numpy、Pytest 等。

值得关注的 IT 领域:数据科学

报告指出,全球范围内的编程环境发生了很大变化。Python 语言的高速增长,无疑是数据科学从业者和爱好者的功劳。这包括了很多通过 Python 完成的工具,以及很多降低了使用门槛的相关工具。这些工具同时也成为了很多学术研究和企业的基础项目。

在 Python 语言背后,诸如深度学习自然语言处理机器学习等已经成为了数据科学社区最受关注的领域。

Jupyter Notebooks的增长, 2016-2019

Jupyter Notebooks 的使用率(将 Jupyter 作为主要语言)在过去三年增长了 100% 以上。

自然语言处理代码库从 2016 年到 2019 年的增长。

自然语言处理在 GitHub 上也成为了一个新的趋势。类似 NLTK 的工具已经降低了 NLP 工作的成本。

报告地址:https://octoverse.github.com/

工程GitHub报告PythonJava
相关数据
Microsoft机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

Jupyter技术

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。 Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等 。

推荐文章
暂无评论
暂无评论~