首页>动态 >内容

Go开发者大调查:8成受访者不满意Go不支援泛型

动态2021-02-13 20:01:52
最佳答案

继新兴语言Rust之后,Google力推的程式语言Go,也发布了自家的开发者大调查,这次Go官方总共收到了10,975份回覆,总数接近去年的两倍。这次他们增加了许多有关使用者统计问题,以更好地了解受访者的轮廓,官方表示,他们这次做的调查结果,与程式设计问答网站StackOverflow所做的2019年度调查结果相近。

这此问卷调查的受访者56%使用Go不到两年,整体使用者年资偏短,将Go用在工作中的比例占所有受访者72%,而有62%的人把Go用在工作之外的专案,官方表示,在2018年的时候,将Go用在工作或是工作外专案的比例,都较前一年大幅增加,但是今年得到的结果与之前不同,也就是说这次受访者较倾向在工作外使用Go,而在工作使用另一种语言,官方提到,他们在这份调查中的不同问题,看到了相似的异常值。

建置API/RPC和CLI仍是Go最多见的用法,比例分别为71%以及62%,问卷调查也询问了受访者使用Go的领域,有66%的人将Go用于网页应用程式开发,其他常见的应用领域还有资料库、网路程式、系统程式和DevOps任务等。

图片来源/Go Team

在套件管理上,绝大多数的受访者(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 Team

大致所有的受访者,对于三大主要云端供应商的Go使用体验都感到满意,排序分别是AWS有80%的满意度,GCP也有78%,而Azure较低只有57%,受访者反应,Azure并没有优先支援Go,也就是说没有持续支援最新的Go版本,使得开发人员无法使用到最新的功能。

图片来源/Go Team

针对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%,虽然VS Code成长速度减缓,但仍然位居Go开发者最爱IDE,有41%受访者使用,第3与第4名分别为Vim和Emacs,前四名使用率占受访者四分之三,且除了前两名,其他编辑器使用率都在衰退。

官方提到,根据这次的调查,受访者对于泛型、套件管理和工具三个领域最不满意,因此在今年,这三个领域将会是Go团队的重点关注项目,接下来几个月内,他们会大幅改善模组、工具和开发者入门的体验。

免责声明:本文由用户上传,如有侵权请联系删除!