Go 博客
Go语言八年
今天我们庆祝Go作为开源项目发布八周年。在Go语言的四周年时,Andrew在帖子中以“再创辉煌四年!”结尾。现在我们已经达到了这个里程碑,我不禁要回顾一下自那时以来,该项目和生态系统取得了多大的发展。四年前的文章中,我们包含了一张图表,展示了Go语言在Google Trends上以“golang”搜索词的受欢迎程度的上升趋势。今天,我们附上一张更新的图表。在这个相对的受欢迎程度的尺度上,四年前的100现在仅为17。在过去的八年中,Go语言的受欢迎程度呈指数级增长,并且仍在持续增长。

开发者喜爱Go
Go语言在全球开发者中得到了广泛认可,全球用户约有100万。在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语言是Alibaba、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语言就不会像今天这样完整、有用和成功。
谢谢您,并期待下一个八年!
下一篇文章:参加2017年Go语言用户调查
上一篇文章:社区外展工作组
博客索引