<關注公衆號,回覆 Go 便可下載清晰知識圖譜>golang
對 Go 語言感興趣但又不知從何學起的同窗,能夠參考一下 Go 語言系列文章:數據庫
Go 官方博客近日公佈了 2019 年 Go 語言調查報告。本次調查收到的回覆達到 10,975 份,約爲去年的兩倍。這些受訪者的反饋意見將被選取用於改進 Go 語言的發展。編程
如下是 2019 年度的調查報告摘要:服務器
有關調查報告的詳細內容請繼續往下閱讀。網絡
調查結果顯示,在工做中使用 Go 語言的受訪者比例與去年至關,均爲 72%,這一數值幾乎每一年都在增加。在工做之餘使用 Go 語言的人數比例則有所降低(70%→62%)。框架
從使用年限上來看,56% 的受訪者使用 Go 語言進行開發的經驗不足兩年,相對來講算是新手。而有着較長時間 Go 開發經驗的「老手」,多擁有 C/C++ 背景,對 JavaScript、TypeScript 和 PHP 則相對沒有那麼熟悉。另外,不管是 Go 的新手仍是老手,大多數受訪者最熟悉的語言還屬 Python。less
有意思的是,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 推薦給朋友或同事?」的問題,以此來計算淨推薦值(Net Promoter Score, NPS)。最終 Go 在 2019 年調查中的淨推薦值是 60 分(67% 的倡導者 - 7% 的貶低者),去年的調查中這一分數爲 61 分。
長期被 Go 使用者詬病的包管理和缺乏泛型這兩個問題,依然是不少開發者使用 Go 時所面臨的最大挑戰。今年,提出工具存在問題的受訪者比例也有所增長。Go 團隊表示這些也是他們重點關注的領域,並表示但願在將來幾個月中可以改善開發人員的體驗,尤爲是在模塊、工具和入門經驗方面。
受訪者對於 Go 社區的見解與往年相比有較大波動。認爲本身在社區中有受到關注的人數比例從 82% 降至 75%。
另外一方面,受訪者對於這一問題的迴應朝着兩極分化的方向發展。選擇「強烈贊成」或「強烈反對」的比例都相對增長。Go 團隊計劃對此進行進一步研究。
以上就是 2019 年度關於 Go 語言調查的大體內容,完整調查報告還請查看 Go 官方博客。
「 阿里巴巴雲原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,作最懂雲原生開發者的技術圈。」