2021 Go 官方調(diào)查報(bào)告重磅發(fā)布:92%的開發(fā)者對 Go 滿意
大家好,近日,Go 官方重磅發(fā)布了 2021 年度 Go 開發(fā)者調(diào)查報(bào)告。
本次調(diào)查了 11840 ?名開發(fā)者,這是 6 年以來,參與該項(xiàng)調(diào)查人數(shù)最多的一次。本次調(diào)查對 Go 開發(fā)者畫像、技術(shù)工具、開發(fā)者評價(jià)等方面進(jìn)行了全面的調(diào)查,帶你深入了解 Go 語言現(xiàn)狀。
Go 語言中文網(wǎng)帶大家一起看看這次報(bào)告的主要內(nèi)容。
首先是幾個特別值得強(qiáng)調(diào)的點(diǎn):
開發(fā)者對 Go 的滿意度普遍很高(一如既往的滿意),92% 的開發(fā)者對 Go 感到滿意。70% 的受訪者在工作中使用 Go,81% 的受訪者對 Go 的未來前景充滿信心; 缺少關(guān)鍵庫、語言功能和基礎(chǔ)設(shè)施是 Go 開發(fā)者普遍反饋的功能缺陷。受訪者希望優(yōu)先考慮對調(diào)試和依賴項(xiàng)管理進(jìn)行改進(jìn); 使用模塊(Module)時(shí)面臨的最大挑戰(zhàn)是關(guān)于版本控制、使用私有存儲庫和多模塊工作流等方面。(此調(diào)查是在 Go 1.18 之前進(jìn)行的,Go 1.18 已進(jìn)行了大量的改進(jìn),在語言層面增加了泛型、增加了 Fuzzing、工作區(qū)以及性能上的改進(jìn))
01 Go 開發(fā)者:一個人也可以是一個團(tuán)隊(duì)
作為一門編程語言,使用的人群大多數(shù)都是軟件開發(fā)人員(70%),只有少數(shù)是從事 IT 或 DevOps 工作。雖然近年來掀起了一陣“轉(zhuǎn)碼熱“,許多業(yè)余人士也開始學(xué)習(xí)一些編程語言,豐富業(yè)余生活。但大多數(shù)的人還是專業(yè)程序員,76% 的受訪者表示他們在工作中使用 Go 語言進(jìn)行項(xiàng)目研發(fā),這一數(shù)據(jù)與 2020 年持平。

從受訪數(shù)據(jù)來看,絕大多數(shù)的受訪者受聘于企業(yè)或者中小型企業(yè)、約四分之一用戶供職于初創(chuàng)企業(yè),像咨詢公司、公共機(jī)構(gòu)的占比非常低。

另外,雖然程序員的工作常給人量大、活多、掉頭發(fā)的印象,但大多數(shù)開發(fā)團(tuán)隊(duì)人數(shù)都不算多,大部分都少于10人,甚至還有 8% 的人在獨(dú)自戰(zhàn)斗,一個人就是一個團(tuán)隊(duì)。

都說程序員加班是常態(tài),經(jīng)常日夜顛倒,工作融入生活,這不,在周末有 31% 的受訪者在使用Go語言(可能是加班,也可能是興趣愛好)。有 55% 的人是在工作中使用 Go 語言。

近兩年,除了遍地的程序員,開發(fā)圈里“程序媛”也多了起來。但 Go 開發(fā)者中女性比例仍然只有 2%,和去年差不多。

作為一個“內(nèi)卷”十分激烈的行業(yè),許多開發(fā)者都會通過提高自身技能來增強(qiáng)競爭力,技多不壓身,學(xué)習(xí)幾種語言,Go 開發(fā)則也不例外。51% 的開發(fā)者在工作中學(xué)習(xí)新的語言,但也有一大部分選擇在校園外或者工作之余悄悄“內(nèi)卷”(45%)。

那么具體怎么學(xué)呢?大多數(shù)的開發(fā)者都是通過自學(xué)的方式,很少有抱團(tuán)學(xué)習(xí),因?yàn)樽钪匾倪€是獨(dú)立思考的能力。當(dāng)你想要學(xué)習(xí)一種新技能,上網(wǎng)一搜,方法五花八門,各種教學(xué)視頻眼花繚亂。那么哪些才是最有用的方法呢?64% 的Go開發(fā)者認(rèn)為通過閱讀參考文檔來學(xué)習(xí)新的編程語言是最有用的,其次是寫教程、看源代碼或者通過現(xiàn)場教學(xué)(線上或者線下)。

02 構(gòu)建 API/PRC 服務(wù)仍然占大頭
調(diào)查發(fā)現(xiàn),迄今為止 Go 最常見的用途仍然是構(gòu)建 API/PRC 服務(wù)(49%),令人驚訝的是,數(shù)據(jù)處理成為了第二常見的用途。

Go 的性能好,開發(fā)效率高,從發(fā)布 1.0 版本以來備受眾多開發(fā)者關(guān)注并得到廣泛使用。很多公司特別是云計(jì)算公司開始用 Go 重構(gòu)他們的基礎(chǔ)架構(gòu),很多都是直接采用 Go 進(jìn)行了開發(fā),比如很火的 Docker 就是采用Go開發(fā)的。75% 的受訪者,在對 Go 進(jìn)行評估后使用了 Go。
但是沒有哪一種語言是完美的,比如認(rèn)為 Go 有如下缺點(diǎn):
Go 缺少一些所需的特性。 其他語言能夠更好地支持現(xiàn)有的工具和設(shè)施。 Go生態(tài)缺乏需要的庫。
這三點(diǎn)是有些開發(fā)者沒有選擇 Go 來開發(fā)項(xiàng)目的主要原因。

那么,沒有選擇 Go 時(shí)他們使用了哪種語言呢?

Rust、Python、Java 是最常見的選擇。Rust 和 Go 有互補(bǔ)的功能集,所以當(dāng) Go 不能滿足項(xiàng)目的功能需求時(shí),Rust 是一個不錯的選擇。使用 Java 最常見的原因是因?yàn)?Go 缺少一些特性,但這個問題可能會通過在 1.18 版本中引入泛型得到一定的解決。
03 開發(fā)者評價(jià):Go在團(tuán)隊(duì)中表現(xiàn)良好
Go 似乎一直以來都贏得了大部分使用過它的人的喜愛,92%的 Go 開發(fā)者表示,在過去的一年里,他們對 Go 感到滿意。

社區(qū)的態(tài)度逐年略有波動。但有 91% 的開發(fā)者認(rèn)為“Go 在團(tuán)隊(duì)中表現(xiàn)良好”,該數(shù)據(jù)達(dá)到了近三年新高。

81% 的受訪者對 Go 未來的前景很有信心。但是愿意為 Go 項(xiàng)目做貢獻(xiàn)的開發(fā)者由去年的 64% 下降至 61%。

今年采取了一種特殊的提問方式來探究改善的優(yōu)先級:”如果你有 10 個 GopherCoins 可以用來改善 Go,你會怎樣分配你的硬幣?”根據(jù)受訪者的投票,依賴管理和診斷錯誤兩個領(lǐng)域需要更多的改善。

04 Go開發(fā)者偏愛 Linux 系統(tǒng)和 VS Code
Linux 仍然是最受 Go 開發(fā)者歡迎的系統(tǒng)(63%),其次是 macOS(55%)系統(tǒng)。不過在 Linux 上開發(fā)的開發(fā)者似乎在逐年減少,而在 Windows 上開發(fā)的人數(shù)較去年有所增加。

另外,91% 的Go開發(fā)者更喜歡使用 VS Code 作為編輯器,當(dāng)然,不僅僅只有 Go 開發(fā)者偏愛VS Code,根據(jù) Stack Overflow 開發(fā)者報(bào)告的數(shù)據(jù),Visual Studio Code 顯然已成為開發(fā)者的首選 IDE,有 71.06% 的開發(fā)者使用。

超過 90% 的開發(fā)者會將 Go 部署到 Linux,另外值得注意的是,雖然在 Windows 系統(tǒng)用 Go 開發(fā)的沒有在 macOS 系統(tǒng)上多,但是將 Go 部署到Windows系統(tǒng)(18%)的人數(shù)超過部署到 macOS 系統(tǒng)(15%)。

05 云服務(wù)中的 Go
Go 在設(shè)計(jì)時(shí)考慮了現(xiàn)代分布式計(jì)算,Go 官方希望繼續(xù)改善開發(fā)人員使用 Go 構(gòu)建云服務(wù)的體驗(yàn)。所以,今年 Go 官方將 Go 程序部署到全球三大云提供商(Amazon Web Services,Google Cloud Platform 和 Microsoft Azure)的比例保持不變,并且對自有或公司擁有的服務(wù)器的本地部署繼續(xù)減少。

06 總結(jié)
重申一些關(guān)鍵要點(diǎn):
對 Go 的滿意度仍然很高! 四分之三的受訪者在工作中使用 Go,許多人每天都在使用 Go,因此幫助你完成工作是重中之重。 Go Team 將優(yōu)先改進(jìn)調(diào)試和依賴管理工作流程。 Go Team 將繼續(xù)努力使 Go 成為各種 Gophers 的包容性社區(qū)。 了解開發(fā)人員的經(jīng)驗(yàn)和挑戰(zhàn)有助于衡量 Go Team 的進(jìn)步并指導(dǎo) Go 的未來。
再次感謝所有為本次調(diào)查做出貢獻(xiàn)的人 —— 如果沒有你們將無法完成。希望明年再見!
完整的報(bào)告結(jié)果見:https://go.dev/blog/survey2021-results
本文結(jié)合官方報(bào)告和 CSDNnews (https://mp.weixin.qq.com/s/JUt0WFoheic3GRIbdSwypQ)的文章整理而成
推薦閱讀
