Go 語(yǔ)言現(xiàn)狀以及一些鮮為人知的事實(shí)
JetBrains 官方博客發(fā)表了一篇題為"The state of Go"的文章,他們通過深入研究有關(guān) Go 的信息,發(fā)現(xiàn)了不少鮮為人知的事實(shí),并提供了翔實(shí)的數(shù)據(jù)作為支撐。此外,JetBrains 還邀請(qǐng)到了知名的 Go 語(yǔ)言專家 Florin Pățan 針對(duì)各項(xiàng)數(shù)據(jù)發(fā)表了自己的見解。
一、Go 開發(fā)者
數(shù)量 & 所處地區(qū)
全球大約有 110 萬名職業(yè) Go 開發(fā)者(特指在工作中專門將 Go 作為主力編程語(yǔ)言的群體),如果把主要使用其他編程語(yǔ)言但同時(shí)兼職使用 Go 的專業(yè)開發(fā)者計(jì)算在內(nèi),這個(gè)數(shù)字可能接近 270 萬。
從 Go 開發(fā)者在全球地區(qū)的分布來看,生活在亞洲的職業(yè) Go 開發(fā)者最多,大約有 57 萬。
Go 語(yǔ)言專家 Florin 表示這在他的預(yù)期之內(nèi)。他認(rèn)為亞洲的 Go 開發(fā)者數(shù)量之所以高居榜首是因?yàn)槟抢镉写罅康拈_發(fā)者來自騰訊、阿里巴巴和華為等大型公司,這些公司一般都會(huì)雇傭許多開發(fā)者。
如果再細(xì)分下去,以國(guó)家為維度查看使用 Go 作為主力編程語(yǔ)言的開發(fā)者分布情況,中國(guó)所占的比例最高,全球有 16% 的 Go 開發(fā)者來自中國(guó)。
Florin 對(duì)此同樣不感到意外,不過他表示本以為俄羅斯會(huì)排第二,美國(guó)會(huì)進(jìn)入前五,然而事實(shí)卻是日本的 Go 開發(fā)者數(shù)量排名第二,美國(guó)排到了第七。談及中國(guó)位居榜首的原因,F(xiàn)lorin 認(rèn)為最重要的是中國(guó)擁有數(shù)量相當(dāng)龐大的開發(fā)者,根據(jù)他自己所認(rèn)識(shí)的公司來看,諸如 PingCAP、騰訊、和華為都擁有大量開發(fā)者幫助構(gòu)建與微服務(wù)相結(jié)合的內(nèi)部工具、基礎(chǔ)設(shè)施和后端服務(wù)。
Florin 提到了俄羅斯的 Go 社區(qū)非?;钴S,Go 在那里也非常流行,不過他對(duì) Go 開發(fā)者在日本和烏克蘭的分布情況感到意外,因?yàn)樗疽詾榈聡?guó)和印度會(huì)更高,F(xiàn)lorin 表示自己四五年前在柏林的時(shí)候,所認(rèn)識(shí)的每家初創(chuàng)公司都使用了 Go。
二、使用 Go 開發(fā)的軟件類型
根據(jù) JetBrains 2020年開發(fā)者生態(tài)調(diào)查的結(jié)果,Web 服務(wù)是使用 Go 進(jìn)行開發(fā)的最受歡迎的領(lǐng)域,所占份額為 36%。其次分別是實(shí)用程序、IT 基礎(chǔ)設(shè)施、工具庫(kù)和系統(tǒng)軟軟件開發(fā)。
Florin 認(rèn)為,對(duì)于 Web 服務(wù),首要任務(wù)是創(chuàng)建速度足夠快的 API 服務(wù)器。他們不一定需要框架,因此開發(fā)者可以使用 Go 快速啟動(dòng)并運(yùn)行。他希望未來這張圖不會(huì)發(fā)生大變化,希望看到 Web 服務(wù)獲得更多的分享,因?yàn)槭褂?Go 入門很簡(jiǎn)單。
三、使用 Go 的熱門行業(yè)
根據(jù) JetBrains 2020年開發(fā)者生態(tài)調(diào)查的結(jié)果,Go 開發(fā)者主要從事 IT 服務(wù)行業(yè),其次是金融和金融科技,云計(jì)算/平臺(tái)、大數(shù)據(jù)、移動(dòng)開發(fā)和其他行業(yè)。
Florin 表示沒想到 Go 在移動(dòng)開發(fā)行業(yè)也能占有一席之地,畢竟它的移動(dòng)開發(fā)歷史比較匱乏。人們可能會(huì)使用 Go 來為移動(dòng)應(yīng)用程序提供 Web 服務(wù)或后端,但是僅此而已。
四、Go 工具
Go Web 框架 Top5
包管理器
Go routers
測(cè)試框架
五、討論度最高的 Go 工具和其他語(yǔ)言
討論的高頻詞:JSON、goroutine、PostgreSQL、MySQL、Dockers……
六、行業(yè)見解
根據(jù) JetBrains 2020年開發(fā)者生態(tài)調(diào)查的結(jié)果,Go 是十大主要編程語(yǔ)言之一,被專業(yè)開發(fā)者采用的所占比例為 7%。Florin 認(rèn)為,許多人并不傾向于以 Go 作為其第一門學(xué)習(xí)的編程語(yǔ)言,通常是從其他語(yǔ)言(例如 PHP 和 Ruby)遷移過來,據(jù)他所知主要是從 C++ 和 C# 遷移到 Go。
Florin 表示,Go 相對(duì) PHP 的優(yōu)勢(shì)在于類型安全,因?yàn)?Go 是靜態(tài)類型語(yǔ)言,而 PHP 是動(dòng)態(tài)語(yǔ)言。這意味著編譯器會(huì)幫助開發(fā)者完成大部分工作,以確保他們編寫的代碼能夠正確編譯和運(yùn)行,并在運(yùn)行時(shí)不會(huì)出現(xiàn)問題。Go 與 C++ 相比的優(yōu)勢(shì)是簡(jiǎn)單。在 Go 中,一切都非常簡(jiǎn)單。此外在不進(jìn)行任何特殊優(yōu)化的情況下,使用 Go 還會(huì)獲得性能方面的提升,這對(duì)公司來說是重要的生產(chǎn)力優(yōu)勢(shì)。
Florin 還提到了 Go 采用率持續(xù)增長(zhǎng)的另一個(gè)原因,由于許多流行的 IT 基礎(chǔ)設(shè)施都是用 Go 編寫,例如 Kubernetes、Docker 和 Vault,因此盡管許多公司的主力技術(shù)??赡苁?Java 或者其他語(yǔ)言,但他們也會(huì)配置針對(duì) Go 的團(tuán)隊(duì),尤其是在維護(hù)和修補(bǔ)此類基礎(chǔ)設(shè)施項(xiàng)目方面。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:Go 語(yǔ)言現(xiàn)狀
本文地址:https://www.oschina.net/news/130342/the-state-of-go-2020