首頁 > 後端開發 > Golang > 《2021 年 Go 官方開發者調查報告》

《2021 年 Go 官方開發者調查報告》

發布: 2023-08-07 16:22:41
轉載
1028 人瀏覽過

每年 Go 官方都會舉辦一次 Go 開發者的調查,去年也不例外。不過調查完,收集了資料後就不見人影了...不然是社區和某時間的朋友們都會問我在哪裡可以看到。

這不,最近官方終於發布了《Go Developer Survey 2021 Results[1]》,我直接翻譯了(有刪減,僅展示重點內容),大家可以看看,了解下Go 的社群行情發展。

Go 開發者調查結果

亮點

  • ##大多數答覆與往年一致。例如,對 Go 的滿意度仍然很高,達到 92%,75% 的受訪者在工作中使用 Go。
  • 今年,我們使用 Go VSCode 外掛程式對一些參與者進行了隨機抽樣,這導致了對調查作出回應的人發生了一些變化。
  • 缺少關鍵程式庫、語言功能和基礎設施是使用 Go 的最常見障礙。 (註:這項調查是在Go1.18 發布之前進行的,其中泛型是報告中最缺的第一大功能)
  • 受訪者希望優先改善調試和依賴性管理。
  • 在使用模組時,最大的挑戰是版本管理、使用私人倉庫和多模組工作流程。 (注意:這項調查是在Go 1.18之前進行的,Go 1.18引入了工作空間,解決了許多這些問題)。
  • 81% 的受訪者對 Go 計畫的長期發展方向有信心。

我們聽了誰的聲音?

我們的人口統計逐年保持穩定(見 2020 年的結果)。與往年一致,Go主要用於科技業。 70% 的受訪者是軟體開發人員,少數是 IT 或 DevOps,76% 的受訪者表示他們在工作中用 Go 編程。

《2021 年 Go 官方開發者調查報告》
《2021 年 Go 官方開發者調查報告》
《2021 年 Go 官方開發者調查報告》
#2021 年的一些新人口統計:

  • 大多數受訪者將他們的組織描述為企業或中小型企業,約四分之一的人將他們的組織描述為新創公司。諮詢公司和公共機構的情況要少得多。
  • 絕大多數受訪者在不到 10 人的團隊中工作。
  • 超過一半(55%)的受訪者每天在工作中使用 Go。受訪者在工作以外使用 Go 的頻率較低。
《2021 年 Go 官方開發者調查報告》
《2021 年 Go 官方開發者調查報告》
《2021 年 Go 官方開發者調查報告》

Go 應用面臨的挑戰

我們問受訪者在過去一年中是否評估過使用其他語言來取代Go。 43% 的受訪者表示,他們曾評估切換到 Go,或在先前沒有既定語言的情況下採用 Go。

這些評估中的 80% 主要是出於商業原因。

《2021 年 Go 官方開發者調查報告》

我們預期 Go 最常見的用例將是評估 Go 的人最常見的預期用途。到目前為止,API/RPC 服務是最常見的用途,但令人驚訝的是,資料處理是第二常見的預期用例。

《2021 年 Go 官方開發者調查報告》

在那些評估了 Go 的受訪者中,有 75% 最終使用了Go。 (當然,由於幾乎所有的調查對像都報告說在使用 Go,我們很可能沒有聽到那些評估過 Go 但決定不使用它的開發者的聲音)。

《2021 年 Go 官方開發者調查報告》

對於那些評估了 Go 但沒有使用 Go 的人,我們接著問他們有哪些挑戰阻礙了他們使用 Go,其中哪一個是主要障礙。

《2021 年 Go 官方開發者調查報告》

我們從這些結果中得到的情況支持了先前的發現,即缺少功能和缺乏生態系統/庫支持是採用Go的最重要的技術障礙。

我們詢問了更多關於受訪者缺少哪些功能或函式庫的細節,發現泛型是最常見的關鍵性缺失功能-- 我們希望在Go1.18 引入泛型之後,這將成為一個不那麼重要的障礙。接下來最常見的缺失功能是與 Go 的類型系統有關的。

我們希望在做出更多改變之前,看看引入泛型會如何影響或解決圍繞 Go 類型系統的潛在需求。

目前,我們將收集更多關於這些需求背景的信息,並可能在未來探索不同的方式來滿足這些需求,例如透過工具、函式庫或對類型系統的修改。

至於缺少的函式庫,對於增加什麼樣的函式庫可以解開最大比例的想採用Go的人的障礙,並沒有明確的共識。這需要進一步的探索。

那麼,當受訪者不選擇 Go 時,他們用什麼來代替呢?

《2021 年 Go 官方開發者調查報告》

Rust、Python 和 Java 是最常見的選擇。

Rust 和 Go 有互補的功能集,所以當 Go 無法滿足專案的功能需求時,Rust 可能是個不錯的選擇。

使用 Python 的主要原因是缺少庫和現有的基礎設施支持,所以 Python 的大型軟體包生態系統可能會使其難以轉換為 Go。

同樣地,使用 Java 的最常見的原因是 Go 的功能缺失,這可能會因為 1.18 版本中引入泛型而得到緩解。

Go 滿意度和優先順序

讓我們看看 Go 在哪些方面做得好,哪些方面可以改進。

與去年一致,92% 的受訪者表示他們在過去一年中對 Go 的使用非常滿意或比較滿意。

《2021 年 Go 官方開發者調查報告》

今年,我們引入了一個新的問題,以探索在特定領域中確定工作優先順序的其他方法。

問題:"假設你有10 個GopherCoins 可以用來改善圍棋工作的以下方面。你會如何分配你的硬幣?"

突出的兩個領域是依賴性管理(使用模組)和診斷錯誤,這些領域我們將在2022 年投入資源。

《2021 年 Go 官方開發者調查報告》

在Go 依賴管理上,最常見的挑戰是:

  • 在多個模組之間工作(19% 的受訪者)。
  • 是關於版本的評論(包括對承諾穩定的 V1 版 API 的恐懼)。

與版本有關,9% 的答案討論了版本管理或更新依賴關係。排在前五名的是關於私有倉庫的挑戰(包括對 GitLab 的認證)和記住不同的 go mod 命令以及理解它們的錯誤訊息。

開發者工具與實務

與往年一樣,絕大部分調查對象表示在Linux(63%)與macOS(55%)系統上使用Go。隨著時間的推移,主要在 Linux 上開發的受訪者的比例似乎略有下降的趨勢。

《2021 年 Go 官方開發者調查報告》

在使用 VSCode 外掛程式進行調查的受訪者中,有 91% 的受訪者在使用 Go 時更喜歡使用 VSCode。

《2021 年 Go 官方開發者調查報告》

目標(部署)平台

#超過90% 的受訪者以Linux 為目標!儘管在macOS 上開發的受訪者比Windows多,但他們更常部署到Windows 而不是macOS。

《2021 年 Go 官方開發者調查報告》

總結

整體回顧我們 2021 年的開發者調查結果 重申一下,一些關鍵的收穫。

  • 我們的大多數同比指標保持穩定,大多數變化是由於我們的樣本變化。
  • 對Go 的滿意程度仍然很高!
  • #四分之三的受訪者在工作中使用Go,許多人每天都在使用Go,所以幫助你完成工作是首要任務。
  • 我們將優先考慮對偵錯和依賴性管理工作流程的改進。
  • 我們將繼續努力,讓 Go 成為各種 Gophers 的包容性社群。

簡單來講,就是欣欣向榮,大部分人對 Go 都比較滿意。

最大矛盾點是泛型和依賴管理。泛型已在 Go1.18 已經釋出,依賴管理持續在改進,也會加大對調試工具的最佳化。

#

以上是《2021 年 Go 官方開發者調查報告》的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
go
來源:Golang菜鸟
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板