Go 博客
GopherChina 之旅报告
我们早已知道 Go 在中国的受欢迎程度超过其他任何国家。根据 Google Trends 的数据,搜索“golang”这个词的绝大多数都来自中华人民共和国。其他人也曾对这一现象发表过看法,但迄今为止,我们对这一现象的具体信息却十分稀少。
中国首届 Go 大会——GopherChina——似乎是探索这一情况的绝佳机会,我们可以让一些西方的 Gopher 亲临中国。收到实际的邀请后,我决定接受并就 gofmt 对软件开发的影响发表一次演讲。

你好,上海!
这次大会于一个四月的周末在上海举行,地点在上海浦东软件园的浦软大厦,从上海市中心区域乘坐地铁一个小时或更短时间即可轻松到达。大会借鉴了GopherCon 的模式,采用单轨制,所有演讲都在一个可容纳约 400 名与会者的会议室进行。大会由志愿者组织,由Asta Xie 领导,并得到了主要行业名称的大力赞助。据组织者称,由于场地限制,许多希望参加的人未能如愿。

以组织者 Asta Xie(从左往右数第二位)为首的欢迎委员会。
每位与会者都收到一个袋子,里面装有必备的 GopherChina T 恤、各种赞助商相关的信息手册、贴纸,以及偶尔出现的毛绒“玩偶”(但没有毛绒绒的 Gopher)。至少有一个第三方供应商在推销技术书籍,其中包括几本 Go 原创(非英文翻译)书籍。

Go 书籍!
第一印象是,与会者普遍比较年轻,这使得现场气氛非常热烈,整个活动看起来也运行得井井有条。
除了我的演讲,所有演讲都用中文进行,因此对我来说无法理解。主要组织者 Asta Xie 协助我进行了一些耳语同传,偶尔出现的英文幻灯片提供了额外的线索:“69GB”即使不懂中文也能让人印象深刻(稍后详述)。因此,我实际上只听了几场演讲,大部分时间都花在了与会议室外的与会者交谈上。不过,从幻灯片来看,大多数演讲的质量都很高,与我们去年在丹佛 GopherCon 的经历相当。每场演讲都有一个小时的时间,足以深入探讨技术细节,并且听众提问踊跃(几十个问题)。
正如预期的那样,许多演讲都与 Web 服务、移动应用后端等相关。其中一些系统无论从哪个角度看都显得非常庞大。例如,周洋的演讲描述了奇虎 360(中国一家大型软件公司)使用的一个用 Go 编写的大规模内部消息系统。演讲中讨论了他们的团队如何将原始的 69GB (!) 堆大小和由此产生的 3-6 秒的长时间 GC 暂停减少到更易于管理的水平,以及他们如何在数千台机器上每台机器运行数百万个 goroutine。未来计划发布一篇客座博客文章,更详细地介绍这个系统。

周六挤满人的会议室。
在另一次演讲中,DaoCloud 的郭峰谈到了他们公司如何使用 Go 进行所谓的应用程序“持续交付”。DaoCloud 负责将托管在 GitHub(及中国同类平台)上的软件自动迁移到云端。软件开发者只需在 GitHub 上推送新版本,DaoCloud 就会负责其他一切:运行测试、Docker 化,并使用您首选的云服务提供商进行部署。
几位演讲者来自享有盛誉的大型软件公司(我将会议程序展示给非技术人员,他们都很容易认出几家公司的名字)。与美国相比,Go 不仅在初创公司和新加入者中非常受欢迎,而且在大型组织中也得到了广泛应用,其规模之大是我们开始在其他地方看到的。
我自己并非 Web 服务专家,在我的演讲中,我稍微偏离了会议的普遍主题,谈论了 gofmt 的使用及其如何开始影响人们对 Go 乃至其他语言的期望。我用英语发表演讲,但提前将幻灯片翻译成了中文。由于语言障碍较大,我并没有期待我的演讲会收到太多问题。因此,我决定将演讲时间缩短,为关于 Go 的一般性提问留出充足的时间,这一点受到了听众的欢迎。

在中国,没有丰盛的美食,一次社交活动就不算完整。
会议几天后,在CEO 徐蔚的邀请下,我访问了这家成立 4 年的初创公司七牛(“七牛云”),徐蔚曾在会议上发表演讲,他也是第一批 Go 中文书籍的作者之一(上面照片中最左边的那本书)。此次访问得到了 Asta Xie 的协助和翻译。


七牛大厅,工程部门。
七牛是一家极其成功的全 Go 公司,拥有约 160 名员工,服务超过 150,000 家公司和开发者,存储超过 500 亿个文件,并且每天还在增长超过 5 亿个文件。当被问及 Go 在中国取得成功的原因时,徐蔚迅速回答:PHP 在中国非常流行,但相对缓慢,不适合大型系统。与美国一样,大学主要教授 C++ 和 Java,但对于许多应用来说,C++ 工具过于复杂,Java 又过于庞大。他认为,Go 现在扮演着传统上属于 PHP 的角色,但 Go 运行速度更快,类型安全,并且更容易扩展。他非常喜欢 Go 的简洁性以及应用程序易于部署的特性。他认为该语言对他们来说“完美”,他最希望的是有一个推荐的甚至标准化的包,可以轻松访问数据库系统。他确实提到他们过去有过 GC 问题,但设法解决了。希望我们即将发布的 1.5 版本能够解决这个问题。对七牛来说,Go 的出现恰逢其时,并且处于正确的(开源)生态位。
据 Asta Xie 称,七牛只是 PRC 众多 Go 公司中的一家。像阿里巴巴、百度、腾讯和微博这样的大公司,现在都在以某种形式使用 Go。他指出,虽然上海及苏州等周边城市是高科技中心,但北京地区拥有更多的软件开发人员。Asta 希望在 2016 年在北京组织一个更大规模(1000,可能 1500 人)的后续会议。
看来我们已经找到了中国的 Go 用户:他们无处不在!
一些 GopherChina 的资料,包括视频,现在可以和 Go 课程一起在一个第三方网站上找到。
下一篇文章:奇虎 360 与 Go
上一篇文章:Go 中的可测试示例
博客索引