mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 01:21:38 +08:00
58 lines
5.4 KiB
Markdown
58 lines
5.4 KiB
Markdown
#1.1 起源与发展
|
||
Go语言起源2007年,并于2009年正式对外发布。它从2009年9月21日开始作为谷歌公司20%兼职项目,即相关员工利用20%的空余时间来参与Go语言的研发工作。该项目的三位领导者均是著名的IT工程师:Robert Griesemer,参与开发Java HotSpot 虚拟机;Rob Pike,Go语言项目总负责人,贝尔实验室Unix团队成员,参与的项目包括Plan 9,Inferno操作系统和Limbo编程语言;Ken Thompson,贝尔实验室Unix团队成员,C语言、Unix和Plan 9的创始人之一,与 Rob Pike 共同开发了UTF-8字符集规范。自2008年1月起,Ken Thompson 就开始研发一款以C语言为目标结果的编译器来拓展Go语言的设计思想。
|
||
|
||
*这是一个由计算机领域“发明之父”所组成的黄金团队,他们对系统编程语言,操作系统和并行都有着非常深刻的见解*
|
||
|
||

|
||
|
||
图1.1 Go语言设计者:Griesemer,Thompson 和 Pike
|
||
|
||
在2008年年中,Go语言的设计工作接近尾声,一些员工开始以全职工作状态投入到这个项目的编译器和运行实现上。Ian Lance Taylor 也加入到了开发团队中,并于2008年5月创建了一个gcc前端。
|
||
|
||
Russ Cox 加入开发团队后着手语言和类库方面的开发,也就是Go语言的标准包。在2009年10月30日,Rob Pike 以 Google Techtalk 的形式第一次向人们宣告了Go语言的存在。
|
||
|
||
直到2009年11月10日,开发团队将Go语言项目以BSD-style授权(完全开源)正式公布在Linux和Mac OS X平台上的版本。Hector Chu 于同年11月22日公布了Windows版本。
|
||
|
||
作为一个开源项目,Go语言借助开源社区的有生力量达到快速地发展,并吸引更多的开发者来使用并改善它。自该开源项目发布以来,超过200名非谷歌员工的贡献者对Go语言核心部分提交了超过1000个修改建议。在过去的18个月里,又有150开发者贡献了新的核心代码。这俨然形成了世界上最大的开源团队,并使该项目跻身 [Ohloh](http://www.ohloh.net) 前2%的行列。大约在2011年4月10日,谷歌开始抽调员工进入全职开发Go语言项目。开源化的语言显然能够让更多的开发者参与其中并加速它的发展速度。Andrew Gerrand 在2010年加入到开发团队中成为共同开发者与支持者。
|
||
|
||
在Go语言在2010年1月8日被 [Tiobe](http://www.tiobe.com)(闻名于它的编程语言流行程度排名)宣布为“2009年年度语言”后,引起各界很大的反响。目前Go语言在这项排名中的最高记录是在2010年2月创下的第13名,流行程度1778%。
|
||
|
||
###时间轴:
|
||
|
||
- 2007年9月21日:雏形设计
|
||
- 2009年11月10日:首次公开发布
|
||
- 2010年1月8日:当选2009年年度语言
|
||
- 2010年5月:谷歌投入使用
|
||
- 2011年5月5日:Google App Engine 支持Go语言
|
||
|
||
从2010年5月起,谷歌开始将Go语言投入到后端基础设施的实际开发中,例如开发用于管理后端复杂环境的项目。有句话叫“吃你自己的狗食”,这也体现了谷歌确实想要投资这门语言,并认为它是有生产价值的。
|
||
|
||
Go语言的官方网站是 [https://golang.org](https://golang.org),这个站点采用Python作为前端,并且使用Go语言自带的工具 godoc 运行在 Google App Engine 上来作为Web服务器提供文本内容。在官网的首页有一个功能叫做 Go-playground,是一个Go代码的简单编辑器的沙盒,它可以在没有安装Go语言的情况下在你的浏览器中编译并运行Go,它提供了一些示例,其中包括国际惯例“Hello, World!”。
|
||
|
||
更多的信息详见 [http://code.google.com/p/go/](http://code.google.com/p/go/),Go项目Bug追踪和功能预期详见 [http://code.google.com/p/go/issues/list](http://code.google.com/p/go/issues/list)。
|
||
|
||
Go通过以下的Logo来展示它的速度,并以囊地鼠(Gopher)作为它的吉祥物。
|
||
|
||

|
||
|
||
图1.2 Go语言Logo
|
||
|
||
谷歌邮件列表 [golang-nuts](http://groups.google.com/group/golang-nuts/) 非常活跃,每天的讨论和问题解答数以百计。
|
||
|
||
关于Go语言在 Google App Engine 的应用,这里有一个单独的邮件列表 [google-appengine-go](https://groups.google.com/forum/#!forum/google-appengine-go),不过2个邮件列表的讨论内容并不是分得很清楚,都会涉及到相关的话题。[go-lang.cat-v.org/](http://go-lang.cat-v.org/) 是Go语言开发社区的资源站,[irc.freenode.net](http://irc.freenode.net) 的#go-nuts 是官方的 Go IRC频道。
|
||
|
||
[http://twitter.com/#!/go_nuts](http://twitter.com/#!/go_nuts) 是Go语言在Twitter的官方帐号,大家一般使用 #golang 作为话题标签。
|
||
|
||
这里还有一个在Linked-in的小组:[http://www.linkedin.com/groups?gid=2524765&trk=myg_ugrp_ovr](http://www.linkedin.com/groups?gid=2524765&trk=myg_ugrp_ovr)。
|
||
|
||
Go编程语言的维基百科:[http://en.wikipedia.org/wiki/Go_(programming_language)](http://en.wikipedia.org/wiki/Go_(programming_language))
|
||
|
||
Go语言相关资源的搜索引擎页面:[http://go-lang.cat-v.org/go-search](http://go-lang.cat-v.org/go-search)
|
||
|
||
Go语言还有一个运行在 Google App Engine 上的 [Go Tour](http://go-tour.appspot.com/),你也可以通过执行命令 `go install go-tour.googlecode.com/hg/gotour` 安装到你的本地机器上。
|
||
|
||
##链接
|
||
- [目录](directory.md)
|
||
- 上一部分:[前言](preface.md)
|
||
- 下一节: [语言的主要特性与发展的环境和影响因素](01.2.md)
|