继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Go,云时代的编程语言

tonybai
关注TA
已关注
手记 168
粉丝 7768
获赞 488

图片描述

随着AWS Lambda等主要云供应商支持Go,诞生于谷歌的Go编程语言正迅速成为许多云原生应用的首选语言。 Steve Francia于2016年加入Google,成为Go的产品负责人,最近他分享了其在云平台应用和其他地方的使用情况。

他还分享了Go云开发工具包的最新状态更新,同时深入探讨了Go不仅是云基础架构的语言,它甚至还成为整个云时代的编程语言。

图片描述
Google Go Lead Steve Francia

我想问你关于Go在Docker和Kubernetes开发中的角色。您曾经是Docker的副总裁兼首席运营官…

是的,我个人已不再参与Docker,但我可以说作为Go生态系统的一员,你知道 - Go在创建DockerKubernetesIstio以及许多其他与云相关的技术上所扮演的重要角色。事实上,你知道,我认为我们有理由说现代云是用Go编写的。几年前,一位分析师写道,Go是云基础架构的语言,我认为这已被证明是绝对正确的 - 大多数云基础架构都是用Go编写的。

而且我们越来越多地看到Go不仅是云基础设施的语言,而且是整个云的语言。我们看到越来越多的Go云应用程序在云上被接纳,这远高于其他语言的应用。我们也看到很多人都希望使用Go。它非常适合云,内置异步。它的原生功能集非常适合云中非常常见的微服务架构 - 以及它的性能和节省成本。因此,对于那些要使用Go构建云原生应用的人来说,这些特性集非常吸引人。

Google内部对Go的感觉如何?我知道Go广泛用于Google的生产环境。那么Google开发者对Go的看法是什么?

你知道,谷歌一直都支持Go。我觉得使用我们内部创建的语言会很兴奋,你知道吗?我们在Google内部看到Go被良好而稳定的采用。我可以提供的细节不多,但Go在整个公司有很多地方在使用。我们对此感到非常兴奋…

这是一个有趣的地方,因为很明显,我代表的是Go团队,但我们也是,你知道的,由谷歌或其部分赞助,Google是云供应商之一。作为其中的一部分,我们会努力保持中立。

那么Go现在在主要的云服务提供商那处于什么位置?

我们今年一直在努力的一个令人兴奋的项目是 - 以Go作为云的语言 - 我们已经构建了一个可能是云应用程序标准库的项目。我们称之为 - 让我们看看,我们今天早上刚刚确定了一个名称,所以我想要完全正确…这就是“ Go Cloud Development Kit。”实际上,它就像是云的标准库。我们希望在本季度晚些时候宣布更重要的事情。

现在我们正在与一部分用户进行早期测试。它被集成到一些主要的开源项目中,其中一个与我有关,但是(笑)我实际上没有参与其中。Hugo是我们用Go编写的更受欢迎的网站引擎之一,我们最近使用Go Cloud Development Kit库添加了对云发布的支持…

就像Go标准库可能交叉一样 - 你知道,你可以编写一个应用程序,只需为Mac编译它,为Linux或Windows或不同的体系结构编译它,它就可以运行,并且它运行时没有任何额外的代码。所以,你知道,Go标准库提供了真正的可移植性。我们的目标是为云做同样的事情。

最初,我们支持三巨头 - 亚马逊,Azure和谷歌云平台。我们也正在进行开放式开发,我们已经与其他一些云提供商讨论了为其提供自己的后端。我们也正在与微软合作,因此我们已经为云计算提供商做出了贡献。

这是我们正在努力的一项我们认为非常重要的举措。

我们在9月份进行了一项调查,发现有27%的无服务器开发人员表示他们计划在未来18个月内使用Go。你有没有看到任何有趣的Go项目出现?

是的,绝对有很多不同的方面,在这些领域Go实际上已经产生了相当大的影响。我们经常首先考虑云,但Web也是一个相当重要的地方,这方面有许多Go项目都发挥重要作用。同样,你知道 - 谈论这个很有意思,但即便加密货币空间也被Go打乱了。以太坊主要用Go编写。很多网络项目都是用Go编写的 - 当然还有Kubernetes和Docker以及Istio …

11月,GitHub的年度“ Octoverse状态 ”报告得出结论,今年撰写Go的贡献者比去年增加了1.5倍。你是否也看到新Gopher的人数大增?

是的,我们看到Go用户比去年增加了很多 - 真的,18个月。你知道,所以我们有一些数字。根据跟踪所有这些事情的Stack Overflow调查,从2017年到2018年增长了76%。

[Steve后来根据Stack Overflow开发人员调查中Go用户的百分比向我们提供了这个计算方法 - 乘以Evans Data对开发人员总人数的估计。

2018年
所有受访者:7.1%使用Go
估计Go开发人员:23M * 7.1%= 1.633M

2017年
所有受访者(第二个标签):4.2%使用Go
估计Go开发者:22M * 4.2%= 924K 
____________________________________________ 
同比增长= 1.633M / 924K = 76%

而且我们已经看到了很多其他的东西。GitHub是另一个强大的指标,随着GitHub的拉取请求,Go看到了非常显着的增长…

即使从2016年到2017年,Go也在GitHub上开了96,879个Pull请求 - 增加了51.4%(达到285,000)。但是你现在对Go社区发生的事情有什么感觉?

在这一点上,它是GitHub的#4语言,通过pull请求。这是非凡的。

图片描述
来自GitHut 2.0的第四季度统计数据

所以是的,我们看到了非常显着的增长…

成为Go的一员是一个激动人心的时刻。像IntelliJ,微软的Visual Studio Code,JFrog Artifactory这样的供应商都开始意识到Go是许多开发人员想要的地方,因此他们已经构建并发布了支持产品。我们从其他许多供应商那里看到了这一点。显然,云平台非常了解Go,并且正在创建解决方案,通常首先使用Go。

这是一个激动人心的时刻。在社区方面,我们在世界各地都看到了很多努力。会议数量显着增长,同比增长约30%。我不记得确切的数字,但我认为今年全球有15到20个会议,参加人数也在增加,所以参加会议真的是一个激动人心的时刻。所有的会议都是由社区成员组织的,所以这是一个非常基层的努力…我们在南美洲以他们的母语,日本的母语,中国的母语,以及世界各地的会议,一个不同的语言…

真正的是将Go带给人们,带到他们所在的地方。


打开App,阅读手记
“小礼物走一走,来慕课关注我”
赞赏支持
Tony Bai 说
去围观
Tony Bai,智能网联汽车独角兽公司先行研发部负责人,Go语言专家,资深架构师,《Go语言精进之路》作者。
发表评论
随时随地看视频慕课网APP