Go開發者大調查:8成受訪者不滿意Go不支持泛型(Generics)

繼新興語言Rust(Rust 公佈 2019 大調查:Rust 太難了!社群學不動

)之後,Google力推的編程語言Go,也發佈了自家的開發者大調查,這次Go官方總共收到了10,975份回覆,總數接近去年的兩倍。這次他們增加了許多有關使用者統計問題,以更好地瞭解受訪者的輪廓,官方表示,他們這次做的調查結果,與程序設計問答網站StackOverflow所做的2019年度調查結果相近。

Go開發者大調查:8成受訪者不滿意Go不支持泛型(Generics)

這此問卷調查的受訪者56%使用Go不到兩年,整體使用者工齡偏短,將Go用在工作中的比例佔所有受訪者72%,而有62%的人把Go用在工作之外的項目,官方表示,在2018年的時候,將Go用在工作或是工作外項目的比例,都較前一年大幅增加,但是今年得到的結果與之前不同,也就是說這次受訪者較傾向在工作外使用Go,而在工作使用另一種語言,官方提到,他們在這份調查中的不同問題,看到了相似的異常值。

建置API/RPC和CLI仍是Go最多見的用法,比例分別為71%以及62%,問卷調查也詢問了受訪者使用Go的領域,有66%的人將Go用於網頁應用程序開發,其他常見的應用領域還有數據庫、網絡程序、系統程序和DevOps任務等。

Go開發者大調查:8成受訪者不滿意Go不支持泛型(Generics)

在套件管理上,絕大多數的受訪者(89%),都已經通過Go命令使用Modules,官方提到,改變套件管理方法對於開發人員來說,是一個巨大的轉變,而此時整個社群正同時經歷這樣的改變。

由於Go在設計時,考慮了現代分佈式運算,因此Go可以說是一個雲端語言,今年官方在問卷增加了有關雲端開發的問題,以更全面瞭解Go開發者和雲端供應商的關係。這次的調查可以明顯看到兩個趨勢,三大全球雲端供應商AWS、GCP和Azure,在受訪者的使用率都上升,其他的供應商每年使用率皆只有一小部分,且大部分都衰退,另外,企業自有或是本地部署的比例持續減少,已經和AWS的市佔比例相去不遠。

開發者在不同雲端平臺以不同的方式部署Go工作負載,將工作負載部署到AWS和Azure的受訪者,有很大比例直接使用虛擬機,分別為65%和51%,而部署到GCP的受訪者,則有64%的人使用Kubernetes平臺,幾乎是虛擬機35%的兩倍。受訪者使用GCP和Azure的無服務器平臺比例低,僅有17%和7%,而AWS卻有33%。

Go開發者大調查:8成受訪者不滿意Go不支持泛型(Generics)

大致所有的受訪者,對於三大主要雲端供應商的Go使用體驗都感到滿意,排序分別是AWS有80%的滿意度,GCP也有78%,而Azure較低只有57%,受訪者反映,Azure並沒有優先支持Go,也就是說沒有持續支持最新的Go版本,使得開發人員無法使用到最新的功能。

Go開發者大調查:8成受訪者不滿意Go不支持泛型(Generics)

針對Go的痛點,有79%的受訪者認為Go缺乏關鍵功能泛型(Generics),而有22%的受訪者認為官方應該繼續改進Go的除錯功能,另外還有13%的人要求更多的函數程序語言功能,特別像是map、filter和reduce等,官方特別指出,當Go提供了這些關鍵程序語言功能,則開發者將能夠更廣泛地使用Go。

在開源的表現上,Go雖然是一個開源項目,但是不代表Go的開發者也都會用Go來開發自由或是開源項目,從問卷的數據看起來,Go社群參與開源項目的比例正在縮小,不常與不曾參與開源項目的受訪者百分比,從2016年的71%逐年增加,到2019年達到75%;而受訪者中,僅有約7%到8%的受訪者,是穩定的開源項目貢獻者,會每天參與開源貢獻,每週與每月開源貢獻者比例皆逐年降低。

Go開發者主要在Linux和macOS上開發Go程序,分別有66%與53%,而Windows只有20%,而在編輯器選擇上,GoLand成長非常快速,從24%的使用率上升到34%,雖然VSCode成長速度減緩,但仍然位居Go開發者最愛IDE,有41%受訪者使用,第3與第4名分別為Vim和Emacs,前四名使用率佔受訪者四分之三,且除了前兩名,其他編輯器使用率都在衰退。

根據這次的調查,受訪者對於泛型、套件管理和工具三個領域最不滿意,因此在今年,這三個領域將會是Go團隊的重點關注項目,接下來幾個月內,他們會大幅改善模塊、工具和開發者入門的體驗。

編輯:AI智慧


分享到:


相關文章: