跳转到内容

从零开始学 Go/Go 的起源

来自维基教科书,开放的书籍,开放的世界


到了千禧年之交,所有突出的“标准”编程语言都已经到位,其中大多数已经存在了一段时间。新的编程语言主要是对现有语言的变体,以某种方式专门面向特定领域。这本身并不是什么新鲜事 - 即使是强大的 C 语言也是基于一种叫做 B 的语言。但是,一段时间以来已经积累了一些压力 - 旧的标准存在一些缺陷,这些缺陷已经得到了改进,但一些改进版本令人困惑,难以使用,或者编译速度很慢。有些甚至是为了与解决问题无关的目的而设计的,例如创建原本是开放版权语言的专有版本。

任何编程语言从头开始构建的程度都是有争议的,但 Google 试图创建一个“新的主要系统语言”。Go 的设计考虑了 Google 的内部需求 - 主要是在快速构建和部署,以及由没有其他协调的团队轻松使用。

Robert Griesemer 之前曾在 Sawzall 工作,Sawzall 是一种用于管理 Google 网络文件系统的编程语言,他还为 APL、Java 和 Smalltalk 开发了解释器或虚拟机。

Robert Pike 共同创建了 UTF-8 标准,参与了 Sawzall 和 Limbo 语言的创建,并为 Unix 开发了大量代码。

Ken Thompson 共同创建了 Unix。他对计算的贡献数不胜数。

2007 年,这个团队勾勒出了 Go 的初始目标。在 2008 年,他们和其他人员共同构建了原型库和编译器,直到最终在 2009 年 11 月 10 日,Go 公开发布。经过几年的改进,在 2012 年 3 月 28 日,版本 1.0 发布。退出测试版,准备进行标准化支持。

现在已经有了文档和社区(参见现有资源),但截至本书最初撰写时,还没有一篇简短的入门书籍。因此,我们在这里。

华夏公益教科书