译文 Go 十周年

xiemengjun · 2020年02月11日 · 712 次阅读
本帖已被设为精华帖!

Go 十周年

- 校对者:咔叽咔叽

生日快乐, Go!

这个周末,我们庆祝 Go 发布 10 周年,这也是 Go 作为开源编程语言和构建现代网络软件生态系统的 10 周年。

为了纪念这一时刻,Go gopher 的创造者 Renee French 绘制了一幅欢快的场景:

庆祝 Go 十周年让我回想起了 2009 年 11 月上旬,那时我们正在准备与世界分享 Go。我们不知道会发生什么样的反应,是否会有人关心这种小语言。我希望即使没有人最终使用 Go,至少也会引起人们对一些好想法的关注,尤其是 Go 在并发编程和接口上的想法,这些都可能对后续的编程语言产生影响。

在人们开始对 Go 产生显著兴趣的时候,我便查看了 CC++Perl, PythonRuby 等流行语言的发展历史,并研究了每种语言花了多长时间才被广泛采用。例如,Perl 在我看来是在 1990 年代中后期才形成的,并且具备 CGI 脚本和 Web 开发能力,但它其实早在 1987 年就首次发布了。这一模式在几乎所有我所研究的语言中都有重复:在一门新语言真正腾飞之前,大约需要十年的时间进行沉寂,稳定的改进和传播。

我想知道:十年后 Go 将何去何从?

今天,我们可以回答这个问题:Go 现在无处不在,全世界至少有 100 万开发者在使用。

Go 最初的目标领域是网络系统基础架构,现在称为云软件。如今,每个主要的云服务提供商都使用 Go 语言编写的核心云基础架构,例如 DockerEtcdIstioKubernetesPrometheusTerraform。 云原生计算基金会 CNCF 的大多数项目都使用 Go 编写。包括从头开始的初创公司和构建现代化软件系统的企业,无数公司正在使用 Go 将自己的工作迁移到云平台上。我们还发现 Go 的应用范围已远远超出了最初的云领域,其还包括使用 GoBotTinyGo 控制小型嵌入式系统,在 GRAIL 上通过海量大数据分析和机器学习来检测癌症,以及介于两者之间的所有内容。

所有的这一切都说明 Go 已经超越了我们最疯狂的梦想。Go 的成功不仅仅在于编程语言上,而是涵盖了编程语言、生态系统,尤其是共同努力的开源社区上,都取得了成功。

在 2009 年,Go 语言还仅是一个带有实现工作草图的想法。而 Go 命令尚不存在:我们需要运行 6g 命令进行编译,运行 6l 命令来链接二进制文件,使用 makefiles 实现自动化执行。那时在语句的末尾还需要分号。整个程序甚至在垃圾回收期间会停止,继而我们努力争取用双核特性。那时 Go 还只能运行在 LinuxMac 系统,运行在 32 位和 64 位 x86 以及 32 位的 ARM 平台上。

过去的十年里,在全球 Go 开发者的帮助下,我们已经将最初的想法和草图发展为生产型语言,具备出色的工具集、生产级实现、先进的垃圾回收机制和支持 12 种操作系统和 10 种架构的迁移

任何编程语言都需要蓬勃发展的生态系统来支持。开源版本是生态系统的种子,但是从那时起,许多人贡献了自己的时间和才能来发展 Go 生态系统,这包括出色的教程,书籍,课程,博客文章,播客,工具,持续集成以及通过 go get 分发可重复使用的软件包。没有生态系统的支持,Go 永远不可能成功。

当然,生态系统也需要活跃社区的支持。在 2019 年,全球共数十个 Go 会议,以及拥有超过 9 万成员的 150+ Go 聚会活动。GoBridgeWomen Who Go 通过指导,培训和会议奖学金方式将新的声音带入 Go 社区。仅今年一年,他们在讨论会上向来自数百团体的人们进行了培训,指导刚接触 Go 语言的人。

全球有超过一百万的 Go 开发者,而全球各地的公司仍在寻求更多的 Go 开发者。实际上,人们经常告诉我们,学习 Go 帮助他们获得了技术行业的第一份工作。最后,我们对 Go 感到最自豪的,不是设计精良的特性或巧妙的代码,而是能对如此多人的生活中产生积极的影响。我们旨在创建一种可以帮助我们成为更好开发者的语言,很高兴 Go 帮助了许多其他人。

值此 #GoTurns10 十周年庆祝之际,我希望每个人都花一点时间来庆祝 Go 社区以及我们所取得的一切。代表 Google 的整个 Go 团队,感谢过去十年来加入我们的每个人。让我们一起在下一个十年更加精彩!

更多原创文章干货分享,请关注公众号
  • 加微信实战群请加微信(注明:实战群):gocnio
xiemengjun 将本帖设为了精华贴 02月11日 15:38
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册