Go博客

GopherChina之旅报告

Robert Griesemer
2015年7月1日

我们已经知道一段时间了,Go在中国比任何其他国家都更受欢迎。根据Google Trends,大多数“golang”的搜索 来自中华人民共和国,而不是其他任何地方。其他人 也对同样的观察结果进行了推测,但到目前为止,我们对这种现象的了解还比较少,信息也比较零散

中国首届Go会议GopherChina,似乎是一个绝佳的机会,可以通过让一些西方Gopher踏上中国土地来探索这种情况。一个真正的邀请让它成为现实,我决定接受并做一个关于gofmt对软件开发影响的演讲。

你好,上海!

会议在四月的一个周末在上海举行,地点是上海浦东软件园的浦软大厦,从上海更中心的地方乘坐地铁,在一个小时或更短的时间内即可轻松到达。会议以GopherCon为蓝本,采用单轨制,所有演讲都在一个可容纳约400名与会者的会议室中进行。会议由志愿者组织,由谢孟军领导,并获得了行业主要公司的有力赞助。据组织者称,由于场地限制,许多人希望参加,但无法获得席位。

欢迎委员会,谢孟军(从左数第二),主要组织者。

每位与会者都收到一个袋子,里面装有必不可少的GopherChina T恤、各种与赞助商相关的宣传册、贴纸,以及偶尔的填充“物品”(不过没有毛茸茸的Gopher)。至少有一家第三方供应商正在宣传技术书籍,包括几本原创的(不是从英文翻译的)Go书籍。

Go书籍!

第一印象是,与会者的平均年龄似乎很年轻,这使得人群充满活力,而且活动组织得很好。

除了我的演讲外,所有演讲都用普通话进行,因此我听不懂。主要组织者谢孟军帮我小声翻译了一些内容,偶尔的英文幻灯片也提供了额外的线索:“69GB”即使没有任何普通话知识也能脱颖而出(稍后会详细介绍)。因此,我最终只听了几场演讲,而大部分时间都在会议室外的与会者交流。然而,从幻灯片来看,大多数演讲的质量似乎很高,与我们去年在丹佛举行的GopherCon的体验相当。每次演讲都有一小时的时间,这使得演讲者可以提供大量的技术细节,并且许多(数十个)来自热情的观众的问题。

正如预期的那样,许多演讲都涉及网络服务、移动应用程序的后端等等。从任何标准来看,一些系统都非常庞大。例如,周洋的演讲描述了一个大型内部消息系统,该系统由中国主要的软件公司奇虎360使用,全部用Go编写。该演讲讨论了他的团队如何将最初的69GB(!)堆大小和由此产生的3-6秒长的GC暂停减少到更易于管理的数字,以及他们如何在数千台机器组成的集群中每台机器运行数百万个goroutine。计划在未来发布一篇客座博客文章,更详细地描述该系统。

周六挤满的会议室。

在另一场演讲中,来自DaoCloud郭峰 谈到了他们如何在其公司中使用Go进行他们所谓的应用程序“持续交付”。DaoCloud负责自动将托管在GitHub(以及中国等价物)上的软件迁移到云端。软件开发人员只需在GitHub上推送新版本,DaoCloud就会处理其余工作:运行测试、将其Docker化 ,并使用您首选的云服务提供商进行交付。

几位演讲者来自知名的主要软件公司(我向非技术人员展示了会议日程,他们很容易认出其中几家公司的名字)。与美国相比,Go似乎不仅在新人和初创企业中非常受欢迎,而且已经进入大型组织,并在我们才开始在其他地方看到的规模上被使用。

由于我不是网络服务的专家,因此在我的演讲中,我稍微偏离了大会的主题,谈了谈gofmt 以及它被广泛使用是如何开始塑造人们对Go乃至其他语言的期望的。我用英语做了演讲,但事先将幻灯片翻译成了中文。由于语言障碍很大,我并不期望我的演讲本身会有太多问题。相反,我决定保持简短,并留出足够的时间回答Go的一般问题,观众对此表示赞赏。

在中国,没有社交活动是不包括美味佳肴的。

在会议几天后,应七牛云(“七牛”)的CEO 许式伟的邀请,在谢孟军的帮助下,我参观了这家成立4年的初创公司,并由他进行了翻译。七牛云是面向移动应用程序的基于云的存储提供商;许式伟在会议上做了演讲,他也是第一批中文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中的可测试示例
博客索引