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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 作為編輯器,當然,不僅僅只有 Go 開發(fā)者偏愛VS Code,根據(jù) Stack Overflow 開發(fā)者報告的數(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 云服務中的 Go
Go 在設計時考慮了現(xiàn)代分布式計算,Go 官方希望繼續(xù)改善開發(fā)人員使用 Go 構建云服務的體驗。所以,今年 Go 官方將 Go 程序部署到全球三大云提供商(Amazon Web Services,Google Cloud Platform 和 Microsoft Azure)的比例保持不變,并且對自有或公司擁有的服務器的本地部署繼續(xù)減少。

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