
<關注公衆号,回複 Go 即可下載下傳清晰知識圖譜>
對 Go 語言感興趣但又不知從何學起的同學,可以參考一下 Go 語言系列文章:
Go 官方部落格近日公布了 2019 年 Go 語言調查報告。本次調查收到的回複達到 10,975 份,約為去年的兩倍。這些受訪者的回報意見将被選取用于改進 Go 語言的發展。
以下是 2019 年度的調查報告摘要:
- 此調查中,受訪者的閱聽人特征與 Stack Overflow 的受訪者相似,是以這些結果在某種程度上可以代表更廣泛的 Go 開發人員;
- 大多數受訪者每天都要用到 Go 語言,并且該數字在逐年上升;
- Go 的使用仍集中在技術公司,但它同時也被用于越來越多的行業,例如金融和媒體;
- Go 最常見的用途仍然是編寫 API/RPC 服務和 CLI 工具;
- 子產品在 Go 生态系統中的使用率很高,與此同時,圍繞軟體包管理的一些問題仍然存在;
- 有待改進的重點領域包括 debug、子產品和雲服務的體驗;
- VS Code 和 GoLand 依然最受開發者歡迎,有 3/4 的受訪者都喜歡它們。
有關調查報告的詳細内容請繼續往下閱讀。
開發者背景
調查結果顯示,在工作中使用 Go 語言的受訪者比例與去年相當,均為 72%,這一數值幾乎每年都在增長。在工作之餘使用 Go 語言的人數比例則有所下降(70%→62%)。
從使用年限上來看,56% 的受訪者使用 Go 語言進行開發的經驗不足兩年,相對來說算是新手。而有着較長時間 Go 開發經驗的“老手”,多擁有 C/C++ 背景,對 JavaScript、TypeScript 和 PHP 則相對沒有那麼熟悉。另外,無論是 Go 的新手還是老手,大多數受訪者最熟悉的語言還屬 Python。
1. 使用 Go 的時長
2. 使用其他語言的經驗
有意思的是,Go 是一個成功的開源項目,但大多數使用它的受訪者卻“很少”或“從不”為基于 Go 的開源項目做貢獻。不過,随着 Go 社群的擴充,為它做貢獻的受訪者比例在緩慢上升中。
開發領域
在去年的調查中,多數受訪者都集中在技術公司(包括軟體、網際網路等)。今年的受訪者則來自更為廣泛的開發領域。尤其是金融行業占比顯著增加(8%→12%),來自技術行業的相對受訪者比重從 52% 下降至 43%。
具體來講,在 Go 的使用方面,最常見的領域是 Web 開發(66%)。在資料庫相關領域使用 Go 的受訪者數量顯著增加,所占比例由去年的 29% 上升至 45%,排位也從第五躍升第二。其他常見領域還包括網絡程式設計(42%)、系統程式設計(38%)和 DevOps(37%)。
Go 的主要用途依然是編寫 API/RPC 服務和開發 CLI 應用程式,這兩項分别占比 71% 和 62%。其次是庫和架構方面,增長量巨大,所占比例從 30% 飙升至 48%。
開發環境
與往年一樣,絕大多數被調查者表示在 Linux(66%)和 macOS(53%)系統上使用 Go。 這是本調查與 StackOverflow 調查存在很大差異的一個地方,後者有 45% 的受訪者将 Windows 作為主要開發平台,而關于 Go 的調查中,這一資料隻占 20%。
另外,受訪者中有 38% 的人使用多作業系統應用這門跨平台語言,相較去年(41%)略有下降。
開發工具方面,VS Code、GoLand 和 Vim 仍占據編輯器排行榜前三位,并且這三位的使用份額占總資料的 3/4。其中 GoLand 的使用量在 2019 年增長最多(24%→34%),VS Code 的增長速度有所放緩。
今年的調查中新增了一個有關内部 Go 文檔工具的問題。從總體資料來看,少數受訪者(6%)表示所在的公司有運作自己的 Go 文檔伺服器。但如果僅檢視大型組織(至少有 5,000 名員工)的資料,這一比例幾乎翻了一番(11%)。
雲開發
今年的問卷擴充了一些關于雲開發的問題,可以看出,選擇将 Go 應用部署到雲上的開發者越來越多。其中,選擇 AWS 的受訪者數量(42%)幾乎快要追上選擇本地部署的受訪者數量(44%)。
三大全球雲提供商(Amazon Web Services、Google Cloud Platform 和 Microsoft Azure)的采用率均呈上升趨勢,且牢牢占據絕大部分市場佔有率。
在滿意度方面,受訪者對在三大雲提供商上使用 Go 感到總體滿意。AWS 和 GCP 分别以 80% 和 78% 占有最高滿意度,而 Azure 的滿意度較低,為 57%。
對 Go 語言的态度
該問卷包含一個“你有多大可能将 Go 推薦給朋友或同僚?”的問題,以此來計算淨推薦值(Net Promoter Score, NPS)。最終 Go 在 2019 年調查中的淨推薦值是 60 分(67% 的倡導者 - 7% 的貶低者),去年的調查中這一分數為 61 分。
長期被 Go 使用者诟病的包管理和缺少泛型這兩個問題,依然是很多開發者使用 Go 時所面臨的最大挑戰。今年,提出工具存在問題的受訪者比例也有所增加。Go 團隊表示這些也是他們重點關注的領域,并表示希望在未來幾個月中能夠改善開發人員的體驗,尤其是在子產品、工具和入門經驗方面。
Go 語言社群氛圍
受訪者對于 Go 社群的看法與往年相比有較大波動。認為自己在社群中有受到關注的人數比例從 82% 降至 75%。
另一方面,受訪者對于這一問題的回應朝着兩極分化的方向發展。選擇“強烈同意”或“強烈反對”的比例都相對增加。Go 團隊計劃對此進行進一步研究。
以上就是 2019 年度關于 Go 語言調查的大緻内容,完整調查報告還請檢視
Go 官方部落格。
“ 阿裡巴巴雲原生 關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的技術圈。”