整理 | 章雨铭 责编 | 张红月

出品 | CSDN(ID:)

近几年,包含C语法,拥有高性能、高效率而且还易于上手的Go语言,自推出便受到了国内外开发者的欢迎,许多开发者将其列为最喜欢的语言之一。在《开发人员调查报告 2021》中,使用Go语言的开发者薪资排名进入前十。

Java泛型方法_泛型方法_泛型方法的使用

Go官方调查了11840名开发者,这是6年以来,参与该项调查人数最多的一次。2021年Go开发者报告重磅发布,对Go开发者画像、技术工具、开发者评价等方面进行了全面的调查,带你深入了解Go语言现状。

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

开发者对Go的满意度普遍很高,92%的开发者对Go感到满意。70%的受访者在工作中使用Go,81%的受访者对Go的未来前景充满信心;

缺少关键库、语言功能和基础设施是Go开发者普遍反馈的功能缺陷。受访者希望优先考虑对调试和依赖项管理进行改进;

使用模块时面临的最大挑战是关于版本控制、使用私有存储库和多模块工作流等方面。(此调查是在 Go 1.18 之前进行的,Go 1.18已进行了大量的改进,在语言层面增加了泛型、增加了、工作区以及性能上的改进)

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

作为一门编程语言,使用的人群大多数都是软件开发人员(70%),只有少数是从事IT或工作。虽然近年来掀起了一阵“转码热“,许多业余人士也开始学习一些编程语言,丰富业余生活。但大多数的人还是专业码农,76%的受访者表示他们在工作中使用Go语言进行项目研发,这一数据与2020年持平。

Java泛型方法_泛型方法_泛型方法的使用

从受访数据来看,绝大多数的受访者受聘于企业或者中小型企业、约四分之一用户供职于初创企业,像咨询公司、公共机构的占比非常低。

泛型方法_Java泛型方法_泛型方法的使用

另外,虽然程序员的工作常给人量大、活多、掉头发的印象,但大多数开发团队人数都不算多,大部分都少于10人,甚至还有8%的人在独自战斗,一个人就是一个团队。

泛型方法的使用_Java泛型方法_泛型方法

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

都说程序员加班是常态,经常日夜颠倒,工作融入生活,这不,在周末有31%的受访者在使用Go语言(可能是加班,也可能是兴趣爱好)。有55%的人是在工作中使用Go语言。

泛型方法的使用_泛型方法_Java泛型方法

近两年,除了遍地的程序员,开发圈里“程序媛”也多了起来。但Go开发者中女性比例仍然只有2%,和去年差不多。

Java泛型方法_泛型方法_泛型方法的使用

作为一个“内卷”十分激烈的行业,许多开发者都会通过提高自身技能来增强竞争力,技多不压身,学习几种语言,Go开发则也不例外。51%的开发者在工作中学习新的语言,但也有一大部分选择在校园外或者工作之余悄悄“内卷”(45%)。

泛型方法的使用_泛型方法_Java泛型方法

那么具体怎么学呢?大多数的开发者都是通过自学的方式,很少有抱团学习,因为最重要的还是独立思考的能力。当你想要学习一种新技能,上网一搜,方法五花八门,各种教学视频眼花缭乱。那么哪些才是最有用的方法呢?64%的Go开发者认为通过阅读参考文档来学习新的编程语言是最有用的,其次是写教程、看源代码或者通过现场教学(线上或者线下)。

泛型方法_泛型方法的使用_Java泛型方法

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

调查发现,迄今为止Go最常见的用途仍然是构建API/PRC服务是迄今为止Go最常见的用途(49%),令人惊讶的是,数据处理成为了第二常见的用途。

Java泛型方法_泛型方法_泛型方法的使用

Go的执行能力强,开发效率高,从发布 1.0 版本以来备受众多开发者关注并得到广泛使用。很多公司特别是云计算公司开始用Go重构他们的基础架构,很多都是直接采用Go进行了开发,比如很火的就是采用Go开发的。75%的受访者,在对Go进行评估后使用了Go。

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

Go缺少所需的功能。

其他语言能够更好地支持现有的工具和设施。

Go生态缺乏需要的库。

这三点是开发者没有选择Go来开发项目的主要原因

Java泛型方法_泛型方法的使用_泛型方法

那么,没有选择Go时他们使用了哪种语言呢?

泛型方法_Java泛型方法_泛型方法的使用

Rust、、Java是最常见的选择。Rust和Go有互补的功能集,所以当Go不能满足项目的功能需求时,Rust是一个不错的选择。使用Java最常见的原因是因为Go缺少一些功能,但这个问题可能会通过在1.18版本中引入泛型得到一定的解决。

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

Go似乎一直以来都赢得了大部分使用过它的人的喜爱,92%的Go开发者表示,在过去的一年里,他们对Go感到满意。

泛型方法的使用_泛型方法_Java泛型方法

社区的态度逐年略有波动。但有91%的开发者认为“Go在团队中表现良好,”该数据达到了近三年新高。

Java泛型方法_泛型方法_泛型方法的使用

81%的受访者对Go未来的前景很有信心。但是愿意为Go项目做贡献的开发者由去年的64%下降至61%。

Java泛型方法_泛型方法_泛型方法的使用

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

泛型方法的使用_泛型方法_Java泛型方法

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

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

泛型方法_泛型方法的使用_Java泛型方法

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

泛型方法_泛型方法的使用_Java泛型方法

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

Java泛型方法_泛型方法_泛型方法的使用

云服务中的Go

Go在设计时考虑了现代分布式计算,Go官方希望继续改善开发人员使用Go构建云服务的体验。所以,今年,Go官方将Go程序部署到全球三大云提供商( Web , Cloud 和 Azure)的比例保持不变,并且对自有或公司拥有的服务器的本地部署继续减少。

泛型方法_Java泛型方法_泛型方法的使用

参考资料:

———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需109元,全站资源免费下载 点击查看详情
站 长 微 信: nanadh666

声明:1、本内容转载于网络,版权归原作者所有!2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。3、本内容若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!