Go 博客
GopherChina 旅行报告
我们早就知道 Go 在中国的流行程度超过其他任何国家。根据 Google Trends 的数据,对“golang”一词的大多数搜索都来自中华人民共和国,而非其他地方。其他人也对相同的观察结果进行了猜测,然而到目前为止,我们对这一现象的具体信息仍然很少。
中国首届 Go 大会GopherChina似乎是一个绝佳的机会,可以通过让一些西方 Gopher 踏上中国土地来探索这一情况。一份正式的邀请使之成为现实,我决定接受邀请,并就 gofmt 对软件开发的影响发表演讲。

你好,上海!
会议于四月的一个周末在上海浦东软件园的浦软大厦举行,从上海市中心乘坐地铁一小时内即可轻松抵达。会议模仿了GopherCon,采用单轨道模式,所有演讲都在一个可容纳约 400 名参会者的会议室进行。会议由志愿者组织,由谢孟军(Asta Xie)牵头,并得到了主要行业公司的有力赞助。组织者表示,由于场地限制,许多希望参加的人未能如愿。

欢迎委员会与主要组织者谢孟军(左起第二位)。
每位参会者都收到一个袋子,里面装着必不可少的 GopherChina T恤衫、各种赞助商信息手册、贴纸以及偶尔出现的毛绒玩具(不过没有毛绒 Gopher)。至少有一家第三方供应商在销售技术书籍,其中包括几本原创(非从英文翻译)的 Go 书籍。

Go 书籍!
初步印象是,参会者的平均年龄相当年轻,这使得现场气氛非常热烈,而且活动似乎组织得很好。
除了我的演讲,所有报告都以普通话进行,因此我无法听懂。主要组织者谢孟军通过在我耳边低声进行的几次同声传译提供帮助,偶尔出现的英文幻灯片也提供了一些额外线索:“69GB”即使不懂普通话也很醒目(稍后会详细介绍)。因此,我最终只听了几场报告,而将大部分时间花在主会议室外与参会者交流。然而,从幻灯片来看,大多数报告的质量很高,与我们去年在丹佛 GopherCon 的体验相当。每个演讲都有一个小时的时间,这提供了充足的技术细节,并且热情的听众提出了许多(几十个)问题。
正如所料,许多报告都关于 Web 服务、移动应用后端等等。其中一些系统无论从何种标准来看都非常庞大。例如,周洋的报告描述了一个大型内部消息系统,由中国主要的软件公司奇虎 360使用,全部用 Go 编写。该报告讨论了他的团队如何设法将原始的 69GB (!) 堆大小以及由此导致的 3-6 秒的长时间 GC 停顿减少到更易于管理的数字,以及他们如何在数千台机器的集群上,每台机器运行数百万个 goroutines。计划将来发表一篇客座博客文章更详细地描述该系统。

周六座无虚席的会议室。
在另一场报告中,来自DaoCloud的郭峰讲述了他们的公司如何使用 Go 来实现他们所称的应用“持续交付”。DaoCloud 负责将托管在 GitHub(及中国本土同类平台)上的软件自动迁移到云端。软件开发者只需在 GitHub 上推送新版本,DaoCloud 就会处理其余工作:运行测试、将其容器化,并使用您首选的云服务提供商进行部署。
几位演讲者来自知名的主要软件公司(我把会议议程展示给非技术人员看,他们也很容易认出其中几家公司的名字)。与美国相比,Go 在中国似乎不仅在新进入者和初创公司中非常流行,而且也大量地进入了大型组织,并以我们在其他地方才刚开始看到的规模被采用。
由于我自己并非 Web 服务专家,我在演讲中稍微偏离了大会的总体主题,谈论了gofmt以及其广泛使用如何开始不仅塑造了对 Go 的期望,也塑造了对其他语言的期望。我用英文演讲,但事先将幻灯片翻译成了普通话。由于存在显著的语言障碍,我预计我的演讲本身不会有太多问题。因此,我决定缩短演讲时间,留出充足的时间回答关于 Go 的普遍问题,这一点受到了听众的赞赏。

在中国,任何社交活动没有美食就不完整。
会议结束几天后,我应成立四年的初创公司七牛(“Seven Bulls”)的CEO徐伟的邀请进行了访问,访问由谢孟军协助并翻译。七牛是一家为移动应用提供云存储服务的公司;徐伟在大会上做了报告,他恰好也是最早的中文 Go 书籍之一的作者(上图中最左边的那本)。


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