近几年,包含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
END
— 推荐阅读 — —点这里↓↓↓预约直播哦~—
CSDN,04月23日 14:30 直播开源圆桌派:认识开源,读什么书?视频号一键三连 「分享」「点赞」「在看」
成就一亿技术人
文章评论