4

25% 的开发者认为 Rust 是最佳替代,最新 Go 开发者调查报告出炉

 2 years ago
source link: https://blog.csdn.net/csdnnews/article/details/124339238
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

25% 的开发者认为 Rust 是最佳替代,最新 Go 开发者调查报告出炉

original.png
CSDN资讯 newUpTime2.png 已于 2022-04-24 08:54:48 修改 articleReadEyes2.png 4283

整理 | 章雨铭 责编 | 张红月
出品 | CSDN(ID:CSDNnews)

近几年,包含C语法,拥有高性能、高效率而且还易于上手的Go语言,自推出便受到了国内外开发者的欢迎,许多开发者将其列为最喜欢的语言之一。在《StackOverflow开发人员调查报告 2021》中,使用Go语言的开发者薪资排名进入前十。 在这里插入图片描述
Go官方调查了11840 名开发者,这是6年以来,参与该项调查人数最多的一次。2021年Go开发者报告重磅发布,对Go开发者画像、技术工具、开发者评价等方面进行了全面的调查,带你深入了解Go语言现状。

以下是该报告的一些重要发现:

  • 开发者对Go的满意度普遍很高,92%的开发者对Go感到满意。70%的受访者在工作中使用Go,81%的受访者对Go的未来前景充满信心;
  • 缺少关键库、语言功能和基础设施是Go开发者普遍反馈的功能缺陷。受访者希望优先考虑对调试和依赖项管理进行改进;
  • 使用模块时面临的最大挑战是关于版本控制、使用私有存储库和多模块工作流等方面。(此调查是在 Go 1.18 之前进行的,Go 1.18已进行了大量的改进,在语言层面增加了泛型、增加了Fuzzing、工作区以及性能上的改进)

Go开发者:一个人也可以是一个团队

作为一门编程语言,使用的人群大多数都是软件开发人员(70%),只有少数是从事IT或DevOps工作。虽然近年来掀起了一阵“转码热“,许多业余人士也开始学习一些编程语言,丰富业余生活。但大多数的人还是专业码农,76%的受访者表示他们在工作中使用Go语言进行项目研发,这一数据与2020年持平。
在这里插入图片描述
从受访数据来看,绝大多数的受访者受聘于企业或者中小型企业、约四分之一用户就职于初创企业,像咨询公司、公共机构的占比非常低。
在这里插入图片描述
另外,虽然程序员的工作常给人量大、活多、掉头发的印象,但大多数开发团队人数都不算多,大部分都少于10人,甚至还有8%的人在独自战斗,一个人就是一个团队。
在这里插入图片描述

85%的受访者团队少于10人

都说程序员加班是常态,经常日夜颠倒,工作融入生活,这不,在周末有31%的受访者在使用Go语言(可能是加班,也可能是兴趣爱好)。有55%的人是在工作中使用Go语言。
在这里插入图片描述
近两年,除了遍地的程序员,开发圈里“程序媛”也多了起来。但Go开发者中女性比例仍然只有2%,和去年差不多。
在这里插入图片描述
作为一个“内卷”十分激烈的行业,许多开发者都会通过提高自身技能来增强竞争力,技多不压身,学习几种语言,Go开发则也不例外。51%的开发者在工作中学习新的语言,但也有一大部分选择在校园外或者工作之余悄悄“内卷”(45%)。
在这里插入图片描述
那么具体怎么学呢?大多数的开发者都是通过自学的方式,很少有抱团学习,因为最重要的还是独立思考的能力。当你想要学习一种新技能,上网一搜,方法五花八门,各种教学视频眼花缭乱。那么哪些才是最有用的方法呢?64%的Go开发者认为通过阅读参考文档来学习新的编程语言是最有用的,其次是写教程、看源代码或者通过现场教学(线上或者线下)
在这里插入图片描述

构建API/PRC服务仍然占大头

调查发现,迄今为止Go最常见的用途仍然是构建API/PRC服务是迄今为止Go最常见的用途(49%),令人惊讶的是,数据处理成为了第二常见的用途。
在这里插入图片描述
Go的执行能力强,开发效率高,从发布 1.0 版本以来备受众多开发者关注并得到广泛使用。很多公司特别是云计算公司开始用Go重构他们的基础架构,很多都是直接采用Go进行了开发,比如很火的Docker就是采用Go开发的。75%的受访者,在对Go进行评估后使用了Go。

但是没有哪一种语言是完美的。

  • Go缺少所需的功能。
  • 其他语言能够更好地支持现有的工具和设施。
  • Go生态缺乏需要的库。

这三点是开发者没有选择Go来开发项目的主要原因。
在这里插入图片描述
那么,没有选择Go时他们使用了哪种语言呢?
在这里插入图片描述
Rust、Python、Java是最常见的选择。Rust和Go有互补的功能集,所以当Go不能满足项目的功能需求时,Rust是一个不错的选择。使用Java最常见的原因是因为Go缺少一些功能,但这个问题可能会通过在1.18版本中引入泛型得到一定的解决。

开发者评价:Go在团队中表现良好

Go似乎一直以来都赢得了大部分使用过它的人的喜爱,92%的Go开发者表示,在过去的一年里,他们对Go感到满意。
在这里插入图片描述
社区的态度逐年略有波动。但有91%的开发者认为“Go在团队中表现良好,”该数据达到了近三年新高。
在这里插入图片描述
81%的受访者对Go未来的前景很有信心。但是愿意为Go项目做贡献的开发者由去年的64%下降至61%。
在这里插入图片描述

今年采取了一种特殊的提问方式来探究改善的优先级:”如果你有10个GopherCoins可以用来改善Go,你会怎样分配你的硬币?”根据受访者的投票,依赖管理和诊断错误两个领域需要更多的改善。
在这里插入图片描述

Go开发者偏爱Linux系统和VS Code

Linux仍然是最受Go开发者欢迎的系统(63%),其次是macOS(55%)系统。不过在Linux上开发的开发者似乎在逐年减少,而在Windows上开发的人数较去年有所增加。

在这里插入图片描述

另外,91% 的Go开发者更喜欢使用VS Code作为编辑器,当然,不仅仅只有Go开发者偏爱VS Code,根据Stack Overflow开发者报告的数据,Visual Studio Code显然已成为开发者的首选IDE,有71.06%的开发者使用。

在这里插入图片描述
超过90%的开发者会将Go部署到Linux,另外值得注意的是,虽然在Windows系统用Go开发的没有在macOS系统上多,但是将Go部署到Windows系统(18%)的人数超过部署到macOS系统(15%)。
在这里插入图片描述

云服务中的Go

Go在设计时考虑了现代分布式计算,Go官方希望继续改善开发人员使用Go构建云服务的体验。所以,今年,Go官方将Go程序部署到全球三大云提供商(Amazon Web Services,Google Cloud Platform和Microsoft Azure)的比例保持不变,并且对自有或公司拥有的服务器的本地部署继续减少。
在这里插入图片描述
参考资料:https://go.dev/blog/survey2021-results


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK