Go 博客
Go 八周年
今天我们庆祝 Go 作为开源项目发布八周年。在Go 四周年时,Andrew 在文章末尾写道“再见四年!”。现在我们已经达到了这个里程碑,我不禁回想起自那时以来项目和生态系统取得了多大的发展。在四年前的文章中,我们提供了一张图表,展示了 Go 在 Google Trends 上以搜索词“golang”的受欢迎程度不断上升。今天,我们提供了一张更新的图表。在这个相对受欢迎程度的尺度上,四年前的 100 现在仅为 17。Go 的受欢迎程度在过去八年里呈指数级增长,并且仍在继续增长。

开发者喜爱 Go
Go 受到了全世界开发者的欢迎,全球用户约一百万。在 GitHub 最新发布的 2017 Octoverse 中,Go 已成为排名第九的最受欢迎的语言,超过了 C 语言。Go 是 2017 年 GitHub 上增长最快的语言,在前十名中比上一年增长了 52%。在增长方面,Go 与 JavaScript 交换了位置,后者以 44% 的增长率位居第二。

在 Stack Overflow 2017 年开发者调查中,Go 是唯一同时跻身最受欢迎和最受期望语言前五名的语言。使用 Go 的人喜爱它,而未使用 Go 的人则希望使用它。


来源:insights.stackoverflow.com/survey/2017
Go:云基础设施的语言
2014 年,分析师 Donnie Berkholz 称 Go 为新兴的云基础设施语言。到 2017 年,Go 已成为云基础设施的语言。今天,每一家云公司都有用 Go 实现的关键云基础设施组件,包括 Google Cloud、AWS、Microsoft Azure、Digital Ocean、Heroku 等等。Go 是阿里巴巴、Cloudflare 和 Dropbox 等云公司的关键组成部分。Go 是开源基础设施的关键部分,包括 Kubernetes、Cloud Foundry、Openshift、NATS、Docker、Istio、Etcd、Consul、Juju 等等。公司正越来越多地选择 Go 来构建云基础设施解决方案。
优秀的 Go 社区
可能很难想象,仅仅在四年前,Go 社区才从线上活动转向包含线下社区活动,举办了第一次会议。现在,Go 社区已经在世界各地举办了 30 多场会议,有数百场演讲和数万名与会者。全球各地有数百个 Go 线下聚会每月举行。无论你住在哪里,都很可能找到附近的 Go 线下聚会。
已成立了两个不同的组织,以帮助促进 Go 社区的包容性,分别是 Go Bridge 和 Women Who Go;后者已发展到 25 个以上的分支。这两个组织在提供免费培训方面都发挥了重要作用。仅在 2017 年,Go Bridge 和 Women Who Go 就通过努力提供了 50 多个会议奖学金。
今年,Go 项目迎来了两个重要的第一次。我们举办了第一次贡献者峰会,来自 Go 社区各地的人们齐聚一堂,讨论 Go 项目的需求和未来。不久之后,我们举办了第一次 Go 贡献者工作坊,数百人前来贡献了他们的第一个 Go 代码。

图片由 Sameer Ajmani 拍摄
Go 对开源的影响
Go 已成为开源世界的一股主要力量,为一些最受欢迎的项目提供支持,并在许多行业实现创新。在 awesome-go 上可以找到数千个额外的应用和库。这里只列出一些最受欢迎的
-
Moby(前身为 Docker)是一款用于在轻量级容器中打包和运行应用程序的工具。其创建者 Solomon Hykes 将 Go 的标准库、并发原语和易于部署性列为关键因素,并表示:“简而言之,如果 Docker 不是用 Go 编写的,它就不会如此成功。”
-
Kubernetes 是一个用于自动化容器化应用程序的部署、扩展和管理的系统。最初由 Google 设计并在 Google 云中使用,Kubernetes 现在是每个主要云产品的重要组成部分。
-
Hugo 现在是最受欢迎的开源静态网站引擎。凭借其惊人的速度和灵活性,Hugo 让构建网站再次充满乐趣。根据 w3techs 的数据,Hugo 的使用量现在几乎是前领导者 Jekyll 的三倍。
-
Prometheus 是一个开源的监控解决方案和时序数据库,为指标和警报提供支持,旨在成为你在服务中断时快速诊断问题的系统。
-
Grafana 是一个功能丰富的开源指标仪表板和图表编辑器,支持 Graphite、Elasticsearch、OpenTSDB、Prometheus 和 InfluxDB。
-
Lantern 提供快速、可靠和安全的访问被阻止网站和应用程序的方式。
-
Syncthing 是一个开源的跨平台点对点持续文件同步应用程序
-
Keybase 是一款全新的免费安全应用程序,适用于手机和计算机。可以将其视为一个具有端到端加密公钥密码学的开源 Dropbox 和 Slack。
-
Fzf 是一个用于命令行的交互式 Unix 过滤器,可与任何列表一起使用;文件、命令历史记录、进程、主机名、书签、git 提交等。Fzf 支持 Unix、macOS,并提供 Windows 的 Beta 支持。它也可以作为 vim 插件运行。
这些项目中的许多作者都表示,如果没有 Go,他们的项目就不会存在。有些项目,如 Kubernetes 和 Docker,创建了全新的解决方案。另一些项目,如 Hugo、Syncthing 和 Fzf,在许多解决方案已经存在的情况下,创造了更优化的体验。仅这些应用程序的受欢迎程度就足以证明 Go 是广泛用例的理想语言。
谢谢
这是我们第八次荣幸地为 Go 写生日博客文章,我们继续为 Go 社区的热情和支持感到惊喜和感激。
自 Go 首次开源以来,我们已经发布了 10 个语言、库和工具版本,有超过 1680 名贡献者向项目的 34 个仓库提交了超过 50,000 次提交;贡献者数量是仅 两年前的两倍多,提交次数也几乎是两倍。今年我们宣布已开始规划 Go 2,这是我们对语言和工具的第一次重大修订。
Go 团队要感谢所有为项目做出贡献的人,无论您是通过贡献变更、报告错误、在设计讨论中分享您的专业知识、撰写博客文章或书籍、组织活动、参加或在活动中发表演讲、帮助他人学习或改进、开源您编写的 Go 包、贡献艺术作品、向他人介绍 Go,还是成为 Go 社区的一部分。没有您,Go 就不会像今天这样完整、有用或成功。
谢谢大家,祝 Go 再创辉煌八年!
下一篇文章:参与 2017 年 Go 用户调查
上一篇文章:社区外展工作组
博客索引