整理 | 章雨铭 责编 | 张红月
出品 | 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

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

  1. Rust 2020 调查报告出炉,95%的开发者吐槽Rust难学

    来源 | CSDN(ID:CSDNnews) 编译 | 苏宓 头图 | CSDN 下载自东方 IC 众多语言中,Rust 作为一款小众的现代系统编程语言,近几年间,接连受到了各大企业的青睐. 正如不久 ...

  2. rust木炭有用吗_Rust 2020 调查报告出炉,95%的开发者吐槽Rust难学

    同时,今年 3 月,苹果也表示对将 C 代码移植到 Rust 感兴趣,希望投身到使用 Rust 编写代码的潮流中.此前通过苹果的一则招聘公告可以看出,其想要在基于 Linux 的服务器端平台上将 C ...

  3. ​Rust最受喜爱却少有人用,Python仅排第六,2021全球开发者调查报告出炉

    来源:机器之心本文约2100字,建议阅读8分钟 当前最受开发者喜爱的编程语言是 Rust 语言,而 Python 的受喜爱程度仅位居第六. 在最近出炉的 Stack Overflow 全球开发者调查报 ...

  4. Rust最受喜爱却少有人用,Python仅排第六,2021全球开发者调查报告出炉

    111在最近出炉的 Stack Overflow 全球开发者调查报告中,Rust 成为最受开发者喜爱的编程语言,Python 语言受开发者喜爱程度仅排第六.但是,备受好评的 Rust 语言也面临着「好 ...

  5. Rust 最受喜爱却少有人用,Python 仅排第六,2021 全球开发者调查报告出炉

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 在最近出炉的 Stack Overflow 全球开发者调查报告中,Rust 成为最受开发者喜爱的编程语言,Pyth ...

  6. Stack Overflow 2022 开发者调查报告出炉啦

    Stack Overflow 2022 开发者调查报告现已出炉. Stack Overflow 年度开发者调查是面向全球开发者进行的规模最大.最全面的调查,调查涵盖了从开发者喜爱的技术到工作偏好等内容 ...

  7. Java老矣,尚能饭否?——Stack Overflow 2018 开发者调查报告出炉

    原文:地址 Stack Overflow作为全球最大的程序设计领域的问答网站,每年都会出据一份开发者调查报告.近日,Stack Overflow公布了其第八次年度开发者调查报告(https://ins ...

  8. Docker应用下滑、近七成开发者有安全疑虑,中国云原生用户调查报告来了!

    数字化转型浪潮下,云原生技术的发展突飞猛进.2021年,云原生技术领域的建设投入.集群规模持续走高,用户应用及软件发布也更加频繁.基于微服务架构构建新应用是主要建设方式,已有54.81%的用户使用微服 ...

  9. 指明方向与趋势!2019开发者技能报告出炉!!!

    近日国外开发者平台 HankerRank 发布了 2019 年开发者技能调查报告( https://research.hackerrank.com/developer-skills/2019 ),该报 ...

最新文章

  1. self的含义,为什么类调用方法时需要传参数?
  2. 六种微服务架构的设计模式
  3. web.xml配置详细
  4. Flickr30k图像标注数据集下载及使用方法(转载的,备忘)
  5. 史上最难10道Java面试题!
  6. linux内核那些事之物理内存模型之FLATMEM(1)
  7. Linux Shell脚本入门教程系列之(七)Shell输出
  8. 面试官:什么是 Reactor 和 Proactor
  9. python创建maven工程_Maven项目
  10. layui之获取form表单的radio
  11. Android BUG调试相关方法整理
  12. django Form 效验
  13. 进入顶尖行业的人,都是把职业当乐趣的
  14. 简单的逻辑思维题分享1(附详细答案)
  15. sql 语句,主键外键详解
  16. 飞鸽传书2007绿色版下载
  17. 支付宝 手机h5支付
  18. sns.heatmap用法
  19. 2019念念不忘,2020必有回响!!!
  20. 计算机保研面试自我介绍,计算机保研面试英文自我介绍范文

热门文章

  1. 突击计划——求整数中的较大者
  2. LVGL(2)Visual Studio模拟器使用
  3. 机器学习之数据不平衡问题
  4. 剑指offer——5.替换空格
  5. Python之lambda表达式
  6. 第一个程序python-HelloWorld
  7. 静态方法、静态内部类和抽象方法的注意问题
  8. GTK+图形化应用程序开发学习笔记(二)—Glib库
  9. UIWebView 真机iOS 8.x系统上报错
  10. 洛谷 P1028 数的计算【递推】