開發與維運

Go 語言 2019 調查報告發布(內含 Go 語言圖譜下載)

424頭圖.jpg

<關注公眾號,回覆 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%)。

1.png

從使用年限上來看,56% 的受訪者使用 Go 語言進行開發的經驗不足兩年,相對來說算是新手。而有著較長時間 Go 開發經驗的“老手”,多擁有 C/C++ 背景,對 JavaScript、TypeScript 和 PHP 則相對沒有那麼熟悉。另外,無論是 Go 的新手還是老手,大多數受訪者最熟悉的語言還屬 Python。

2.png

1. 使用 Go 的時長

3.png

2. 使用其他語言的經驗

有意思的是,Go 是一個成功的開源項目,但大多數使用它的受訪者卻“很少”或“從不”為基於 Go 的開源項目做貢獻。不過,隨著 Go 社區的擴展,為它做貢獻的受訪者比例在緩慢上升中。

4.png

開發領域

在去年的調查中,多數受訪者都集中在技術公司(包括軟件、互聯網等)。今年的受訪者則來自更為廣泛的開發領域。尤其是金融行業佔比顯著增加(8%→12%),來自技術行業的相對受訪者比重從 52% 下降至 43%。

5.png

具體來講,在 Go 的使用方面,最常見的領域是 Web 開發(66%)。在數據庫相關領域使用 Go 的受訪者數量顯著增加,所佔比例由去年的 29% 上升至 45%,排位也從第五躍升第二。其他常見領域還包括網絡編程(42%)、系統編程(38%)和 DevOps(37%)。

6.png

Go 的主要用途依然是編寫 API/RPC 服務和開發 CLI 應用程序,這兩項分別佔比 71% 和 62%。其次是庫和框架方面,增長量巨大,所佔比例從 30% 飆升至 48%。

7.png

開發環境

與往年一樣,絕大多數被調查者表示在 Linux(66%)和 macOS(53%)系統上使用 Go。 這是本調查與 StackOverflow 調查存在很大差異的一個地方,後者有 45% 的受訪者將 Windows 作為主要開發平臺,而關於 Go 的調查中,這一數據只佔 20%。

另外,受訪者中有 38% 的人使用多操作系統應用這門跨平臺語言,相較去年(41%)略有下降。

8.png

開發工具方面,VS Code、GoLand 和 Vim 仍佔據編輯器排行榜前三位,並且這三位的使用份額佔總數據的 3/4。其中 GoLand 的使用量在 2019 年增長最多(24%→34%),VS Code 的增長速度有所放緩。

9.png

今年的調查中新增了一個有關內部 Go 文檔工具的問題。從總體數據來看,少數受訪者(6%)表示所在的公司有運行自己的 Go 文檔服務器。但如果僅查看大型組織(至少有 5,000 名員工)的數據,這一比例幾乎翻了一番(11%)。

10.png

雲開發

今年的問卷擴展了一些關於雲開發的問題,可以看出,選擇將 Go 應用部署到雲上的開發者越來越多。其中,選擇 AWS 的受訪者數量(42%)幾乎快要追上選擇本地部署的受訪者數量(44%)。

三大全球雲提供商(Amazon Web Services、Google Cloud Platform 和 Microsoft Azure)的採用率均呈上升趨勢,且牢牢佔據絕大部分市場份額。

在滿意度方面,受訪者對在三大雲提供商上使用 Go 感到總體滿意。AWS 和 GCP 分別以 80% 和 78% 佔有最高滿意度,而 Azure 的滿意度較低,為 57%。

11.png

對 Go 語言的態度

該問卷包含一個“你有多大可能將 Go 推薦給朋友或同事?”的問題,以此來計算淨推薦值(Net Promoter Score, NPS)。最終 Go 在 2019 年調查中的淨推薦值是 60 分(67% 的倡導者 - 7% 的貶低者),去年的調查中這一分數為 61 分。

12.png

長期被 Go 使用者詬病的包管理和缺少泛型這兩個問題,依然是很多開發者使用 Go 時所面臨的最大挑戰。今年,提出工具存在問題的受訪者比例也有所增加。Go 團隊表示這些也是他們重點關注的領域,並表示希望在未來幾個月中能夠改善開發人員的體驗,尤其是在模塊、工具和入門經驗方面。

13.png

Go 語言社區氛圍

受訪者對於 Go 社區的看法與往年相比有較大波動。認為自己在社區中有受到關注的人數比例從 82% 降至 75%。

另一方面,受訪者對於這一問題的迴應朝著兩極分化的方向發展。選擇“強烈同意”或“強烈反對”的比例都相對增加。Go 團隊計劃對此進行進一步研究。

14.png

以上就是 2019 年度關於 Go 語言調查的大致內容,完整調查報告還請查看 Go 官方博客

阿里巴巴雲原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的技術圈。”

Leave a Reply

Your email address will not be published. Required fields are marked *