Google 内部 Go 的使用率有多少?

大家好,我是煎鱼。

众所周知,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 亲和性,使用的人会更多。

文章持续更新,可以微信搜【脑子进煎鱼了】阅读,本文 GitHub github.com/eddycjy/blog 已收录,学习 Go 语言可以看 Go 学习地图和路线,欢迎 Star 催更。

推荐阅读


这是一个从 https://juejin.cn/post/7368820207593586697 下的原始话题分离的讨论话题