一边学习一边整理读书笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:《Go语言精进之路》读书笔记 | 汇总_COCOgsta的博客-CSDN博客
Go语言诞生于何时?它的最初设计者是谁?它为什么被命名为Go?它的设计目标是什么?它如今发展得怎么样?带着这些问题,我们一起穿越时空。
1.1 Go语言的诞生
2007年9月20日,谷歌的大佬级程序员Rob Pike与谷歌的另两个大佬级程序员Robert Griesemer和Ken Thompson(见图1-1)进行了一次有关设计一门新编程语言的讨论,而这次讨论成为Go语言诞生的“导火索”。
图1-1 Go语言之父(从左到右分别是Robert Griesemer、Rob Pike和Ken Thompson)
在他们的初步构想中,这门新语言应该是能够给程序员带来快乐、匹配未来硬件发展趋势并适合用来开发谷歌内部大规模程序的。
在第一天的简短讨论后,第二天三人又在总部的一间名为Yaounde的会议室里开了一场有关这门新语言具体设计的会议。会后的第二天,Robert Griesemer发出了一封题为“prog lang discussion”的电邮。
这封电邮成为这门新语言的第一版设计稿,三位大佬在这门语言的一些基础语法特性上初步达成一致。
2007年9月25日,Rob Pike在一封回复电邮中把这门新编程语言命名为go。很多Go语言初学者经常称这门语言为golang,其实这是不对的:golang仅应用于命名Go语言官方网站,当时之所以使用http://golang.org作为Go语言官方域名,是因为http://go.com已经被迪士尼公司占用了。
1.2 Go语言的早期团队和演进历程
2008年年初,Unix之父Ken Thompson实现了第一版Go编译器,用于验证之前的设计。
同样在谷歌工作的Ian Lance Taylor为Go语言实现了一个GCC的前端,这也是Go语言的第二个编译器。
随后,Ian Lance Taylor以第四位成员的身份正式加入Go语言开发团队,并在后面的Go语言发展进程中成为Go语言及工具设计和实现的核心人物之一。
Russ Cox是Go核心开发团队的第五位成员。在Ken Thompson和Rob Pike先后淡出Go语言核心决策层后,Russ Cox正式接过两位大佬的衣钵,成为Go核心技术团队的负责人。
1.3 Go语言正式发布并开源
2009年10月30日,Rob Pike在Google Techtalk上做了一次有关Go语言的演讲“The Go Programming Language”[6],首次将Go语言公之于众。
Go语言项目在2009年11月10日正式开源,这一天也被Go官方确定为Go语言诞生日。
Go在发布的当年(2009年)就成为著名编程语言排行榜TIOBE的年度最佳编程语言。
经过若干年的磨合,如容器引擎Docker、云原生事实标准平台Kubernetes、服务网格Istio、区块链公链以太坊(Ethereum)、联盟链超级账本(Hyperledger Fabric)、分布式关系型数据库TiDB和CockroachDB、云原生监控系统Prometheus等。这些项目也让Go被誉为“云计算基础设施编程语言”。
Go在近些年云原生领域的广泛应用也让其跻身云原生时代的头部编程语言。
在发布后,Go语言拥有了自己的“吉祥物”(mascot)——一只由Rob Pike的夫人Renee French设计的地鼠(见图1-2),从此地鼠成为世界各地Go程序员的象征。
图1-2 Go语言的吉祥物