Files
the-way-to-go_ZH_CN/eBook/01.1.md
2013-04-08 16:49:51 -04:00

5.4 KiB
Raw Blame History

#1.1 起源与发展 Go语言起源2007年并于2009年正式对外发布。它从2009年9月21日开始作为谷歌公司20%兼职项目即相关员工利用20%的空余时间来参与Go语言的研发工作。该项目的三位领导者均是著名的IT工程师Robert Griesemer参与开发Java HotSpot 虚拟机Rob PikeGo语言项目总负责人贝尔实验室Unix团队成员参与的项目包括Plan 9Inferno操作系统和Limbo编程语言Ken Thompson贝尔实验室Unix团队成员C语言、Unix和Plan 9的创始人之一与 Rob Pike 共同开发了UTF-8字符集规范。自2008年1月起Ken Thompson 就开始研发一款以C语言为目标结果的编译器来拓展Go语言的设计思想。

这是一个由计算机领域“发明之父”所组成的黄金团队,他们对系统编程语言,操作系统和并行都有着非常深刻的见解

图1.1 Go语言设计者GriesemerThompson 和 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 前2%的行列。大约在2011年4月10日谷歌开始抽调员工进入全职开发Go语言项目。开源化的语言显然能够让更多的开发者参与其中并加速它的发展速度。Andrew Gerrand 在2010年加入到开发团队中成为共同开发者与支持者。

在Go语言在2010年1月8日被 Tiobe闻名于它的编程语言流行程度排名宣布为“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这个站点采用Python作为前端并且使用Go语言自带的工具 godoc 运行在 Google App Engine 上来作为Web服务器提供文本内容。在官网的首页有一个功能叫做 Go-playground是一个Go代码的简单编辑器的沙盒它可以在没有安装Go语言的情况下在你的浏览器中编译并运行Go它提供了一些示例其中包括国际惯例“Hello, World!”。

更多的信息详见 http://code.google.com/p/go/Go项目Bug追踪和功能预期详见 http://code.google.com/p/go/issues/list

Go通过以下的Logo来展示它的速度并以囊地鼠Gopher作为它的吉祥物。

图1.2 Go语言Logo

谷歌邮件列表 golang-nuts 非常活跃,每天的讨论和问题解答数以百计。

关于Go语言在 Google App Engine 的应用,这里有一个单独的邮件列表 google-appengine-go不过2个邮件列表的讨论内容并不是分得很清楚都会涉及到相关的话题。go-lang.cat-v.org/ 是Go语言开发社区的资源站irc.freenode.net 的#go-nuts 是官方的 Go IRC频道。

http://twitter.com/#!/go_nuts 是Go语言在Twitter的官方帐号大家一般使用 #golang 作为话题标签。

这里还有一个在Linked-in的小组http://www.linkedin.com/groups?gid=2524765&trk=myg_ugrp_ovr

Go编程语言的维基百科http://en.wikipedia.org/wiki/Go_(programming_language)

Go语言相关资源的搜索引擎页面http://go-lang.cat-v.org/go-search

Go语言还有一个运行在 Google App Engine 上的 Go Tour,你也可以通过执行命令 go install go-tour.googlecode.com/hg/gotour 安装到你的本地机器上。

##链接