Go語言 2019 調查報告發布
阿新 • • 發佈:2020-04-27
![file](http://qiniu.zhequtao.com/FtZ36y3-xqOtqoIFeNnEFtA5VAMA)
Go 官方部落格昨日公佈了[ 2019 年 Go 語言調查報告]。本次調查收到的回覆達到 10,975 份,約為[去年](https://blog.golang.org/survey2018-results)的兩倍。 這些受訪者的反饋意見將被選取用於改進 Go 語言的發展。
以下是 2019 年度的調查報告摘要:
* 此調查中,受訪者的受眾特徵與 Stack Overflow 的受訪者相似,因此這些結果在某種程度上可以代表更廣泛的 Go 開發人員。
* 大多數受訪者每天都要用到 Go 語言,並且該數字在逐年上升。
* Go 的使用仍集中在技術公司,但它同時也被用於越來越多的行業,例如金融和媒體。
* Go 最常見的用途仍然是編寫 API/RPC 服務和 CLI 工具。
* 模組在 Go 生態系統中的使用率很高,與此同時,圍繞軟體包管理的一些問題仍然存在。
* 有待改進的重點領域包括 debug、模組和雲服務的體驗。
* VS Code 和 GoLand 依然最受開發者歡迎,有 3/4 的受訪者都喜歡它們。
有關調查報告的詳細內容請繼續往下閱讀。
#### 開發者背景
調查結果顯示,在工作中使用 Go 語言的受訪者比例與去年相當,均為 72%,這一數值幾乎每年都在增長。在工作之餘使用 Go 語言的人數比例則有所下降(70%→62%)。
![image](https://upload-images.jianshu.io/upload_images/2692013-4a81b9fd61b13566.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
從使用年限上來看,56% 的受訪者使用 Go 語言進行開發的經驗不足兩年,相對來說算是新手。而有著較長時間 Go 開發經驗的“老手”,多擁有 C/C++ 背景,對 JavaScript、TypeScript 和 PHP 則相對沒有那麼熟悉。另外,無論是 Go 的新手老手,大多數受訪者最熟悉的語言還屬 Python。
![image](https://upload-images.jianshu.io/upload_images/2692013-7ce359957ad04bac.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
▲ 使用 Go 的時長
![image](https://upload-images.jianshu.io/upload_images/2692013-97f373de0cc5c6fa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
▲ 使用其他語言的經驗
有意思的是,Go 是一個成功的開源專案,但大多數使用它的受訪者卻“很少”或“從不”為基於 Go 的開源專案做貢獻。不過,隨著 Go 社群的擴充套件,為它做貢獻的受訪者比例在緩慢上升中。
![image](https://upload-images.jianshu.io/upload_images/2692013-93bf6b057363a9d4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
#### 開發領域
在去年的調查中,多數受訪者都集中在技術公司(包括軟體、網際網路等)。今年的受訪者則來自更為廣泛的開發領域。尤其是金融行業佔比顯著增加(8%→12%),來自技術行業的相對受訪者比重從 52% 下降至 43%。
![image](https://upload-images.jianshu.io/upload_images/2692013-843d40e13eef6f98.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
具體來講,在 Go 的使用方面,最常見的領域是 Web 開發(66%)。在資料庫相關領域使用 Go 的受訪者數量顯著增加,所佔比例由去年的 29% 上升至 45%,排位也從第五躍升第二。其他常見領域還包括網路程式設計(42%)、系統程式設計(38%)和 DevOps(37%)。
![image](https://upload-images.jianshu.io/upload_images/2692013-e8114356c7532cba.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Go 的主要用途依然是編寫 API/RPC 服務和開發 CLI 應用程式,這兩項分別佔比 71% 和 62%。其次是庫和框架方面,增長量巨大,所佔比例從 30% 飆升至 48%。
![image](https://upload-images.jianshu.io/upload_images/2692013-60b50e05b9d4f416.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
#### 開發環境
與往年一樣,絕大多數被調查者表示在 Linux(66%)和 macOS(53%)系統上使用 Go。 這是本調查與 StackOverflow 調查存在很大差異的一個地方,後者有 45% 的受訪者將 Windows 作為主要開發平臺,而關於 Go 的調查中,這一資料只佔 20%。
另外,受訪者中有 38% 的人使用多作業系統應用這門跨平臺語言,相較去年(41%)略有下降。
![image](https://upload-images.jianshu.io/upload_images/2692013-61f919ac184aa919.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
開發工具方面,VS Code、GoLand 和 Vim 仍佔據編輯器排行榜前三位,並且這三位的使用份額佔總資料的 3/4。其中 GoLand 的使用量在 2019 年增長最多(24%→34%),VS Code 的增長速度有所放緩。
![image](https://upload-images.jianshu.io/upload_images/2692013-12e5fafa6a06dd0b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
今年的調查中新增了一個有關內部 Go 文件工具的問題。從總體資料來看,少數受訪者(6%)表示所在的公司有執行自己的 Go 文件伺服器。但如果僅檢視大型組織(至少有 5,000 名員工)的資料,這一比例幾乎翻了一番(11%)。
![image](https://upload-images.jianshu.io/upload_images/2692013-2fd4a72fb5ad1e29.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
#### 雲開發
今年的問卷擴充套件了一些關於雲開發的問題,可以看出,選擇將 Go 應用部署到雲上的開發者越來越多。其中,選擇 AWS 的受訪者數量(42%)幾乎快要追上選擇本地部署的受訪者數量(44%)。
三大全球雲提供商(Amazon Web Services、Google Cloud Platform 和 Microsoft Azure)的採用率均呈上升趨勢,且牢牢佔據絕大部分市場份額。
在滿意度方面,受訪者對在三大雲提供商上使用 Go 感到總體滿意。AWS 和 GCP 分別以 80% 和 78% 佔有最高滿意度,而 Azure 的滿意度較低,為 57%。
![image](https://upload-images.jianshu.io/upload_images/2692013-47dc40977a825c47.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
#### **對 Go 語言的態度**
該問卷包含一個**“你有多大可能將 Go 推薦給朋友或同事?**”的問題,以此來計算**淨推薦值**(Net Promoter Score, NPS)。最終 Go 在 2019 年調查中的淨推薦值是 60 分(67% 的倡導者 - 7% 的貶低者),去年的調查中這一分數為 61 分。
![image](https://upload-images.jianshu.io/upload_images/2692013-c50cf12fffe17ee6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
長期被 Go 使用者詬病的包管理和缺少泛型這兩個問題,依然是很多開發者使用 Go 時所面臨的最大挑戰。今年,提出工具存在問題的受訪者比例也有所增加。Go 團隊表示這些也是他們重點關注的領域,並表示希望在未來幾個月中能夠改善開發人員的體驗,尤其是在模組、工具和入門經驗方面。
![image](https://upload-images.jianshu.io/upload_images/2692013-1c569b92e0312c86.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
#### **Go 語言社群氛圍**
受訪者對於 Go 社群的看法與往年相比有較大波動。認為自己在社群中有受到關注的人數比例從 82% 降至 75%。
另一方面,受訪者對於這一問題的迴應朝著兩極分化的方向發展。選擇“強烈同意”或“強烈反對”的比例都相對增加。Go 團隊計劃對此進行進一步研究。
![image](https://upload-images.jianshu.io/upload_images/2692013-20b5b4f0e428caab.png?imageMogr2/auto-orient/strip%7CimageView2/2/