Google 內(nèi)部 Go 的使用率有多少?
大家好,我是煎魚。
眾所周知,Go 這一門編程語言的最大金主爸爸是 Google,Go 核心團(tuán)隊(duì)絕大部分也都在 Google 中工作,Google 為他們支付工資、福利等任何薪酬相關(guān)的內(nèi)容。
那在 Google 里到底對(duì)于 Go 的使用又是什么情況呢?今天我們基于社區(qū)的討論,一起快速了解內(nèi)部情況。
快速背景
最近在國(guó)外 reddit 社區(qū)的 r/golang 頻道上,有人發(fā)出了直擊靈魂的提問:“How much Go is used at Google?”。
圖片
現(xiàn)場(chǎng)有許多 Google 員工現(xiàn)身說法。以前很多朋友說 Google 里自己都不用 Go(尷尬得很)。
這回讓我們一起看看 Google 自家人用 Go 用的怎么樣!
網(wǎng)友們現(xiàn)身說法 TOP3
- @assbuttbuttass:
自己是在 Google Cloud 團(tuán)隊(duì)進(jìn)行工作。目前所有的新項(xiàng)目都使用 Go 語言。
仍有很多舊代碼是用 C++ 編寫的。
使用 Go 還是 C++ 取決于你具體所在的團(tuán)隊(duì)。
- @deathmaster99:
這很大程度上取決于團(tuán)隊(duì)。他在 Google 工作,整個(gè)代碼庫都是用 Java 編寫的,所有新服務(wù)都要用 Kotlin 編寫。
我確信對(duì)于全新的服務(wù),Go 是默認(rèn)選項(xiàng)。但這只占代碼庫的 10%。
絕大部分都是用 C++ 編寫的傳統(tǒng)代碼。
@eloquent_beaver:
這確實(shí)取決于您的產(chǎn)品領(lǐng)域。
Google 擁有多個(gè)內(nèi)部服務(wù)器框架,為新服務(wù)器開發(fā)鋪平了道路,Java/Kotlin、Go 和 C++ 都得到了支持和廣泛應(yīng)用。
Java 或 Kotlin 在某些 PA 中備受青睞,而 Go 則在其他 PA 中備受青睞。甚至 C++ 也被用于那些需要高效處理數(shù)千萬 QPS 的服務(wù)器(每個(gè)請(qǐng)求的成本相差百萬分之一美元也很重要)。
結(jié)論
從所有的評(píng)論和交流來看,Google 作為一家龐大的公司,必然存在著不同的業(yè)務(wù)領(lǐng)域和使用方式。
我們可以得出決定會(huì)不會(huì)使用 Go 的原因取決于:團(tuán)隊(duì)的傾向和業(yè)務(wù)的產(chǎn)品領(lǐng)域。像是 Java 和 Kotlin 肯定在 Android 產(chǎn)品中使用較多。
而 Go 核心團(tuán)隊(duì)本身是在 Google Cloud 團(tuán)隊(duì)中,因此云原生這一塊天然的擁有更多的 Go 親和性,使用的人會(huì)更多。
但即使如此,Go 項(xiàng)目的代碼在個(gè)別團(tuán)隊(duì)中也只占有 10% 左右的比例(via @deathmaster99)