GitHub年度报告,爆全球程序员画像!

源 / 顶级程序员 文 / 江户川雨

在昨天的 GitHub Universe 开发者大会上,GitHub 发布了史上最大更新:可直接运行部分代码的 GitHub Actions;还宣布了 2018 年的 GitHub 年度报告,包括最热门的开源项目和编程语言,还给全世界程序员群体做了一个简单的“画像”。

全球程序员画像


一、哪国程序员最能“闲聊”?

捷克的开发者最能聊!

程序员在写代码时颇爱闲聊,GitHub很皮的排出了最爱聊天的开发者来自哪些国家:其中,来自捷克的开发人员在公开和开放源码存储库中尤其喋喋不休“闲聊“。

二、程序员最常用什么表情?

在回应中,程序员用到最多的表情符号是

还有个细分的,使用不同语言的程序员,喜欢的表情不太一样。

其中,c#用的最多的表情是

三、程序员族如何作息?

首先,不管是什么类型的项目,10点到19点都是程序员每天的活跃高峰时间,其中最活跃的时候是在15点。

其次,每周的周末,他们一般都会去给开源项目和公开库做贡献。在周二、周三、周四处理私有项目的最多。

最后,一年的活动时间变化,主要跟学生的假期以及重大节日有关。比如,过春节的时候,中国的程序员在GitHub上的活跃度就会降低。

有一天很特别,不管那个地方,程序员在这一天都不太活跃,这一天是元旦!

四、喜欢的话题是什么?

react、android、nodejs依旧占据前三,GitHub上2018年的最热话题中也有机器学习出现。

五、最近增长最快的话题?

从增长最快的话题中,我们可以看到人工智能的发展势头。PyTorch和machine都排名前列。

从报告中看出,机器学习、游戏、3D打印、家庭自动化、科学编程、数据分析和全栈JavaScript开发相关的项目增长最快。

六、最热编程语言

年度最热编程语言top 3:Javascript、Java、Python

GitHub中的项目有数百种编程语言,JavaScript一直且仍然居榜首。Java一直稳居第二,Python自15年跻身第三以来一直稳定;PHP同样;Ruby语言排名逐年递减,今年已经下降到了第十名;而TypeScript排名第7位,可以看出他去年才勉强跻身前十。

开源项目


自 2008 年推出,GitHub 目前已经是互联网上最大的项目管理和开源协作平台,目前拥有 9600 万个项目,截止至 9 月 30 日,该平台拥有 3100 万用户,这个数据去年是 2400 万。今年 6 月,微软以 75 亿美元的价格收购了 GitHub,预计在年底完成收购。

今年总共有 210 万个组织使用 GitHub,比 2017 年报告中的 150 万增加了 40%。目前托管的 9600 万个项目中,约有三分之一是在过去一年内创建的。

美国、中国和印度是 contributors 数量最多的三个国家,中国今年占据第二位,提升了一个名次。今年有 800 万新开发者加入 GitHub,并且新增注册数量最多的也依次是美国、中国和印度。2018 年的新增用户数远远超过了前六年的总和。新的 contributors 是 2017 年的 1.6 倍。

但代码提交最多的是亚洲,且亚洲开源项目数量已超过其他任何地方。

今年6月,当微软宣布以 75 亿美元的价格收购 GitHub的时候,很多有影响力的程序员都说,GitHub背叛了他们,更有一部分人“移情别恋”,干脆去了隔壁的GitLab。

但他们不知道的是,微软用实际行动为GitHub默默付出了好久,从这份报告中,可见一斑。

微软不仅拥有最热的开源项目,还拥有增长最快的开源文档。连续好几年都是GitHub上最大的开源组织。
今年的统计数据如下:

在GitHub给出的最有潜力开源项目中,前两名也都是机器学习项目。

1、google/dopamine:DeepMind推出的强化学习框架。

2、facebookresearch/Detectron:Facebook开源的目标检测算法实现,大热的Mask R-CNN就在其中。

3、frappe/charts:响应式的 JavaScript SVG 图表库(受GitHub UI的启发)。

4、felixrieseberg/windows95:在 Electron 程序中运行 Windows 95。

5、wangshub/wechat_jump_game:微信游戏(跳一跳)的外挂。

版本大更新


在年度 GitHub Universe 大会上,GitHub 发布了史上最大的版本更新:可以让所有人直接运行部分代码!

GitHub Actions是本次大会上发布的第一个重磅新产品。这个功能对于程序猿来说是非常重量级的。

这个工具能够让用户在GitHub服务器上直接执行和测试代码。简单来说,只需几个简单的步骤,就能够实现构建、共享和执行代码。

以前我们使用 GitHub 基本上只有几个动作:上传、搜索、下载。如果需要测试 GitHub 上面的一个项目,我们必须下载到本地运行。而新产品 GitHub Actions,提供给了程序员一种自动管理代码的工具,包括测试和技术支持。Sam Lambert 表示,经常有些用户会自己编写机器人软件来运行测试或者有 bug 报告被提交时自动发送短信通知相关人员,但这些工具需要运行在一个 GitHub 平台之外的服务器上。现在这些可以交给 GitHub 来完成了,虽然不能满足每个人的要求,但是程序员也可以在上面开发自己的功能。

当有人提交代码的时候,GitHub Actions 可以直接把提交的部分代码当做工作流,来完成一些特定操作,比如在 Twitter 上发布一张照片。Lambert 描述这有点像用"if this then that“的逻辑来运行代码块。

新服务今天发布测试版,包含了 450 个预设“指令”。除了自己编写“指令”外,还可以使用 Docker 捆绑现有应用程序在 GitHub 上运行,这意味着新项目开始后,团队可以自己定制代码管理工具了。同时 GitHub 也做了一些限定,以免 GitHub Actions 变成了公众 Web 服务器。

另外 GitHub 安全系统也升级了,提供了一种 Token 扫描功能。当上传项目到 GitHub 的时候,它会检测用户是否上传了一些隐私信息。比如如果有秘密密钥或密码一类的信息被推送到了公共分支,主动警报功能就能提醒开发人员甚至云提供商。有了这项功能,类似华住集团拖库这种事情就可以得到有效的防范了。

GitHub 的平台主管 Sam Lambert 把这次更新描述为“GitHub 史上最大转变”。

GitHub Actions目前处于测试阶段,可供注册用户使用。

另一个惊艳产品GitHub Connect


用户可以使用GitHub Connect提供的统一的业务标识(Unified Business Identity )统一搜索和贡献(Unified Search and Contributions)服务,此服务产品致力于提高开发人员之间的交流的能力,从而打破数据孤岛,进而获得从不同的渠道获取数据的能力,与公共数据和社群的连接更加紧密。

统一的业务标识(Unified Business Identity )可用于GitHub的Business Cloud服务,该服务允许管理员管理跨业务云安装帐户。因此,对于不同的云安装可以统一管理。即允许企业使用单个后端接口来处理计费、许可、权限和策略。

统一搜索和贡献(Unified Search and Contributions)功能为开发人员开发人员提供了在GitHub.com上搜索公共存储库和搜索私有存储库的能力,搜索过程中无需离开GitHub Enterprise。

这次的重大更新目前还在测试阶段,相信在不久的将来就会陆续向开发者开放。

GitHub的平台主管萨姆•兰伯特说:“许多大牌云为系统管理员开发了产品,并没有为开发人员开发产品,我们希望把权力和灵活性重新交给开发人员,好让他们有机会选择自己想要的工具,顺畅地配置工具,然后站在社区巨头们的肩上,以便在GitHub平台上大有作为。”

以下是测试版地址:

https://github.com/features/actions

GitHub Actions使用说明书地址:

https://help.github.com/articles/customizing-your-project-with-github-actions/

报告原文链接:

https://octoverse.github.com/