文章目录[隐藏]
大家好,我是煎鱼。
众所周知,Go 这一门编程语言的最大金主爸爸是 Google,Go 核心团队绝大部分也都在 Google 中工作,Google 为他们支付工资、福利等任何薪酬相关的内容。
那在 Google 里到底对于 Go 的使用又是什么情况呢?今天我们基于社区的讨论,一起快速了解内部情况。
快速背景
最近在国外 reddit 社区的 r/golang 频道上,有人发出了直击灵魂的提问:“How much Go is used at Google?”。
图片
现场有许多 Google 员工现身说法。以前很多朋友说 Google 里自己都不用 Go(尴尬得很)。
这回让我们一起看看 Google 自家人用 Go 用的怎么样!
网友们现身说法 TOP3
- @assbuttbuttass:
自己是在 Google Cloud 团队进行工作。目前所有的新项目都使用 Go 语言。
仍有很多旧代码是用 C++ 编写的。
使用 Go 还是 C++ 取决于你具体所在的团队。
- @deathmaster99:
这很大程度上取决于团队。他在 Google 工作,整个代码库都是用 Java 编写的,所有新服务都要用 Kotlin 编写。
我确信对于全新的服务,Go 是默认选项。但这只占代码库的 10%。
绝大部分都是用 C++ 编写的传统代码。
@eloquent_beaver:
这确实取决于您的产品领域。
Google 拥有多个内部服务器框架,为新服务器开发铺平了道路,Java/Kotlin、Go 和 C++ 都得到了支持和广泛应用。
Java 或 Kotlin 在某些 PA 中备受青睐,而 Go 则在其他 PA 中备受青睐。甚至 C++ 也被用于那些需要高效处理数千万 QPS 的服务器(每个请求的成本相差百万分之一美元也很重要)。
结论
从所有的评论和交流来看,Google 作为一家庞大的公司,必然存在着不同的业务领域和使用方式。
我们可以得出决定会不会使用 Go 的原因取决于:团队的倾向和业务的产品领域。像是 Java 和 Kotlin 肯定在 Android 产品中使用较多。
而 Go 核心团队本身是在 Google Cloud 团队中,因此云原生这一块天然的拥有更多的 Go 亲和性,使用的人会更多。
但即使如此,Go 项目的代码在个别团队中也只占有 10% 左右的比例(via @deathmaster99)