今天是 Go 语言诞生 8 周年,在这个特别的日子,Go 语言官方博客发表了纪念刊文。博客称,全球有大约 100 万 Go 开发者,Go 语言在 GitHub 的 2017 年最流行编程语言榜上排第九。以下为博客全文:
今天,我们庆祝 Go 语言作为开源项目发行 8 周年。在 Go 语言四周年纪念活动中,Andrew 以“让我们期待下一个四年吧!”结束了博文公告。如今,我们已经到达了这一里程时刻,我不禁回想,这个项目和它的生态系统与那时相比成长了多少。
在我们的四年前的博文公告中,我们呈现了一个图表,通过搜索词“golang”来展示 Go 在谷歌趋势中越来越受欢迎的趋势。今天,我们将展示一张更新的图表。在这张流行度相对规模的图表中,四年前被我们设定为 100 的规模与当今相比仅仅为 17。Go 的流行度在过去八年呈指数型增长,并会持续下去。
Go 已经被全世界的开发者接受,在世界范围内有大约 1 百万的使用者。在 Github 新近发布的 2017 年 Octoverse 中,Go 在最受欢迎的编程语言中位列第九,超过了 C 语言。Go 还以每年52% 的增长率成为 GitHub2017 年增长最快的十种语言之一。在增长速度方面,Go 超越了了增长率为 44% 的 Javascript,占据了它的位置。
在 Stack Overflow's 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 语言社区在全球已经有超过 30 个会议,数百场演讲和数以万计的与会者。每个月还有数百的 Go 语言的聚会会议,覆盖了地球上的绝大部分地方。不论你住在何处,你都很可能在附近找到一个 Go 语言的聚会。
Go Bridge 和 Women Who Go 这两个不同的组织已经建立以促进 Go 社区的包容性。后者发展了超过 25 个分会。两者都在提供免费的培训方面起到了积极的推动作用。仅仅在 2017 年,超过 50 项会议奖学金就通过 Go Bridge 和 Women Who Go 的努力被发放。
今年我们的 Go 语言工程又实现了两个第一。我们拥有了我们第一个贡献者峰会,来自 Go 语言社区的人们汇聚一堂来探讨 Go 语言项目的需求与未来。不久之后,我们又拥有了第一个 Go 贡献者研讨会,数百人前来做出自己对 Go 语言的第一份贡献。
Go 语言已经成为开源世界的主要力量,它支持一些最受欢迎的项目并且使很多行业的创新成为可能。你还可以在 awesome-go 找到成千上万的应用程序和库。以下仅仅是最受欢迎的中的一些:
• Moby(从前的 Docker)是一个在轻量级容器中封装和运行应用程序的工具。他的创造者 Solomon Hykes 引用了 Go 的标准库,并发源语,并将易于部署作为关键因素。他说道:“为了让它简单对于它的简单性来说,如果 Docker 不是用 Go 语言实现的,它就不会如此成功。”
• Kubernetes 是一个用于自动化部署,扩容和管理容器化的应用程序的系统。最初由 Google 设计并用于 Google cloud,Kubernetes,如今已经是每个云服务的关键部分了。
• Hugo 是目前最流行的开源静态网站引擎。Hugo 惊人的速度和灵活性使构建网站重新变得有趣。根据 w3techs,Hugo 目前有接近之前占主流地位的 Jekyll 3 倍的应用。
• Prometheus 是一个开源的监控解决方案和时间序列数据库的组合,它强化了度量和警报设计,以成为在断供时期使用的系统,帮助你快速诊断问题的系统。
• Grafana 是一个开源,特征丰富的度量仪表盘和图形编辑器,用于 Graphite, Elasticsearch, OpenTSDB, Prometheus 和 InfluxDB
• Lantern 为被阻断的网站提供快速,可靠和安全的访问。
• Syncthing 是一个开源的,跨平台,点对点的连续文件同步应用。
• Keybase 是一个新的免费的手机电脑安全程序。可以将它视为开源的,采用端到端加密公钥密码技术的 Dropbox & Slack。
• Fzf 是一个用于命令行的交互式 Unix 过滤器,可用于任何列表:文件,历史命令,进程,主机名,书签,git 提交,等等。Fzf 支持 Unix,macOS 并对 Windows 有测试版支持。它也能作为 vim 插件运行。
许多这些应用的作者都说过,如果没有 Go 他们的作品就不会存在。一些像 Kubernetes 和 Docker,创造出全新的解决方案。其他的像 Hugo,Syncthing 和 Fzf,在已经存在许多解决方案的情况下创造更好的体验。这些应用的成功本身就证明了 Go 是一种可以在广大案例中被应用的理想语言。
这已经是第八次我们有幸为 Go 的写生日博客了,我们依旧为大家对 Go 社区所展现出的支持和热情而感到振奋和感激。
自 Go 开源以来,我们已经发布了 10 个版本的语言,库和工具,和超过 1680 个贡献者向 34 个仓库进行了超过 50,000 次提交;而超过半数的贡献者和接近一半的提交都是近两年增长的。今年,我们宣布我们已经开始规划 Go 2,这是我们对语言和工具的第一次重大修改。
Go 的团队感谢每一个为项目作出贡献的人,不论是参与了有贡献的改进,报告错误,在设计讨论中分享专业知识,撰写博文和相关书籍,运作会议,出席或者在会议上发言,帮助其他人学习和提高,开源你写出的 Go 工具包,贡献艺术品,向其他人介绍 Go 语言,或者成为 Go 社区的一员。没有你,Go 就不会像今天一样完整,实用,成功。
感谢你!让我们期待下一个八年吧!