1.3 Go语言正式发布并开源
2009年10月30日,Rob Pike在Google Techtalk上做了一次有关Go语言的演讲“The Go Programming Language”[6],首次将Go语言公之于众。
Go语言项目在2009年11月10日正式开源,这一天也被Go官方确定为Go语言诞生日。Go语言项目的主代码仓库位于go.googlesource.com/go。最初Go语言项目在code.google.com上建立了镜像仓库,几年后镜像仓库迁移到了GitHub上[7]。
开源后的Go语言吸引了全世界开发者的目光。再加上Go的三位作者在业界的影响力以及谷歌的加持,越来越多有才华的程序员加入Go开发团队,越来越多贡献者开始为Go语言项目添砖加瓦。于是,Go在发布的当年(2009年)就成为著名编程语言排行榜TIOBE的年度最佳编程语言。
在Go开源后,一些技术公司,尤其是云计算领域的大厂以及初创公司,成为Go语言的早期接纳者。经过若干年的磨合,在这些公司中诞生了众多“杀手级”或示范性项目,如容器引擎Docker、云原生事实标准平台Kubernetes、服务网格Istio、区块链公链以太坊(Ethereum)、联盟链超级账本(Hyperledger Fabric)、分布式关系型数据库TiDB和CockroachDB、云原生监控系统Prometheus等。这些项目也让Go被誉为“云计算基础设施编程语言”。Go在近些年云原生领域的广泛应用也让其跻身云原生时代的头部编程语言。
在发布后,Go语言拥有了自己的“吉祥物”(mascot)——一只由Rob Pike的夫人Renee French设计的地鼠(见图1-2),从此地鼠成为世界各地Go程序员的象征。Go程序员也被昵称为Gopher(后文会直接使用Gopher指代Go语言开发者),Go语言官方技术大会被称为GopherCon。国内最负盛名的Go技术大会同样以Gopher命名,被称为GopherChina。
图1-2 Go语言的吉祥物
小结
了解一门编程语言的诞生历史和早期演进史,有助于程序员在学习这门语言时产生或加深对语言的认同感,从而更热情地投入到这门语言的学习和使用当中。同时,这种认同感也能促进程序员在后续的实践中形成语言的原生思维(如Go语言思维),从而更加高效地利用这门语言进行编程,解决实际问题。
[1]Rob Pike,贝尔实验室早期成员,参与了Plan 9操作系统、C编译器以及多种语言编译器的设计和实现,UTF-8编码的发明人之一。
[2]Robert Griesemer,Java的HotSpot虚拟机和Chrome浏览器的JavaScript V8引擎的设计者之一。
[3]Ken Thompson,图灵奖得主,Unix之父,C语言的发明人之一。
[4]https://talks.golang.org/2015/gophercon-goevolution.slide#8
[5]Rob Pike 将新语言命名为Go:https://commandcenter.blogspot.com/2017/09/go-ten-years-and-climbing.html。
[6]https://github.com/golang/talks/blob/master/2009/go_talk-20091030.pdf