继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Go语言开源十周年

tonybai
关注TA
已关注
手记 163
粉丝 7757
获赞 477

本文翻译自Go官方博客Russ Cox代表Go核心团队发表的"Go Turns 10"一文。

生日快乐,Go!

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

为了纪念这一时刻,Go gopher的创建者Renee French(用下面的新作)描绘了这个令人愉快的场景:

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

当看到人们对Go感到兴奋,我便查看了CC++、Perl、Python和Ruby等流行语言的历史,并研究了每种语言花了多长时间才被广泛采用。例如,在我看来,Perl在1990年代中后期就已经完全形成了,带有CGI脚本和Web,但它于1987年首次发布。这种模式在我所研究的几乎所有语言中都重现了:在新语言真正腾飞之前,需要大约十年的时间进行安静、稳定的改进和传播。

(当时的)我想知道:十年后的Go会在哪里?

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

Go最初的目标是网络系统基础架构,现在我们称为云软件(cloud software)。如今,每个主要的云计算平台提供商都使用用Go语言编写的核心云基础架构,例如DockerEtcdhttps://etcd.io/,IstioKubernetesPrometheusTerraformCloud Native Computing Foundation的大多数项目都是用Go编写的。无数公司也在使用Go将自己的工作迁移到云上,从初创公司从头开始构建到大企业更新软件堆栈。Go还发现对其的采用已经远远超出了最初的云计算目标,其使用范围从使用GoBotTinyGo控制小型嵌入式系统到使用GRAIL进行大规模的大数据分析和机器学习进行癌症检测,以及介于两者之间的所有内容。

这一切都说明Go超越了我们最疯狂的梦想。Go的成功不仅仅在于语言。这是关于语言,生态系统,尤其是社区的共同努力。

在2009年,该语言是一个不错的主意,并带有一个实现的工作草图。那时候go命令还不存在:我们使用命令6g编译源码和6l链接二进制文件,并借助Makefile实现这个过程的自动化。我们在语句末尾键入分号。整个程序在垃圾回收期间停止,然后努力利用两个CPU核。当时Go只能在Linux和Mac,32位和64位x86和32位ARM上运行。

在过去的十年中,在世界各地的Go开发人员的帮助下,我们已经将这一想法和草图发展为拥有出色的工具,生产级质量实现,先进的垃圾收集器和得到广泛移植的高效语言,Go支持12种操作系统和10种CPU体系结构

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

当然,生态系统需要蓬勃发展的社区的支持。在2019年,全球有数十个Go(技术)会议,以及超过150个Go聚会组织和90000名参会人员GoBridgeGoing Who Go通过指导,培训和会议奖学金帮助将新的声音带入Go社区。仅今年一年,他们就在讲习班上向数百名来自传统团体的人们进行了培训,在这些讲习班上,社区成员教导和指导刚接触Go的人。

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

恰逢Go开源十周年的时刻,我希望每个人都花一点时间来庆祝Go社区以及我们所取得的一切。我代表Google的整个Go团队,感谢过去十年来加入我们的每个人。让我们开启下一个更加不可思议的十年吧!

图片描述


打开App,阅读手记
“小礼物走一走,来慕课关注我”
赞赏支持
Tony Bai 说
去围观
Tony Bai,智能网联汽车独角兽公司先行研发部负责人,Go语言专家,资深架构师,《Go语言精进之路》作者。
发表评论
随时随地看视频慕课网APP