近几年Go语言的热度可以说是忽上忽下,自推出就受到了很多人的欢迎。去年年末热度起来,后来又有些降温。我们一起来聊聊Go语言。在StackOverflow开发人员调查报告2021年版的时候,Go语言开发者薪资排名进入前十。 Go官方调查了11840位开发者,这是6年以来,参与该调查人数最多的一次。下面我们一起看看这项调查报告对Go开发者画像、技术工具,开发者评价等各方面做了哪些全面的调查。 开发者对Go的满意程度很高,其中七成的受访者在工作的时候使用Go,八成以上的人对Go语言未来前景充满信心。 缺少关键库,语言功能和基础设施是Go开发者普遍的反馈。 使用模块的时候面对的最大的挑战是关于版本控制、使用私有存储库和多模块工作流等方面。 一、Go开发者一个人也可以是一个团队 作为一门编程语言,使用的人群大多数是软件开发。只有少数是从事IT或者是DevOps工作的。虽然现在掀起来了转行开发的热潮,很多业余人士也开始学编程。但是大多数人还是专业的开发者,76%的受访者表示他们在工作中使用Go语言进行项目研发,这以数据与2020年持平。 从数据来看,大多数的受访者受聘于企业或者中小型企业,约四分之一的受访者就职于创业公司。 大多数开发团队的人都不多,基本上一个团队都少于10人,甚至还有人独自奋斗,一个人就是一个团队。这也就是程序员经常给人非常累,秃头的原因吧。 大家使用Go语言的时间,其中还有31%的人在周末使用Go。 Go语言的男女占比: 掌握Go的各位开发者,也会通过学习其他技能来增强自己的竞争力。其中超过半数的人,在工作中学习新的语言。也有一大部分人选择在工作或者学习之余学习其他技能。 那具体怎么学呢,很多开发者都是通过自学,也有组团学习的。有六成以上的Go开发者认为通过阅读参考文档来学习新的编程语言是最有用的,其次就是写教程、看源码或者是通过线上线下的现场教学模式学习。 二、构建API/PRC服务占比高 大多数开发者使用Go的用途依旧是构建API/PRC服务,数据处理成为了第二常见用途。 Go的执行效率高,从发布到现在的众多版本,都得到了认可和使用。特别是很多企业的云计算使用Go重构基础架构,很多都是直接采用Go进行了开发,比如很火的Docker就是用Go开发的。 但是没有完美的语言之说,受访者对Go进行了评价: Go缺少所需功能 其他语言能够很好的支持现有的工具和设施 Go生态缺乏一些需要的库 Rust、Python,Java是常见的选择。Rust和Go有互补的工嗯呢该及,所以当Go不能满足我们一些需要的功能的时候,Rust也是很好的选择。 三、开发者评价:Go在团队中表现良好 对Go的满意度达到了92%。 社区的态度逐年的都有一些拨动,其中91% 的开发者觉得Go在团队中表现良好。 81%的手法和智能对Go未来的前景很有信心,但是愿意为Go项目作出贡献的人下降了3%。 今年额外增加了特殊提问方式来探究应该改善问题的优先级,根据受访者投票选出,一来管理和诊断错误两个领域需要更多的改善。 四、Go开发者更爱Linux和Vs Code 使用Linux占比63%,其次是macOS占比55%。但是数据中可以看出在Linux开发的人逐年再减少,反而是windows的使用人数在增加。 Go的开发者更爱VS Code作为编辑器,占比达到了91%。 超过9成人会将Go部署到Linux,虽然使用Windows的人没有macOS的多,但是愿意将Go部署到Windows系统的超过了部署到macOS系统。 五、云服务中的Go Go在设计时候考虑到了现代分布式计算,Go官方希望继续改善开发人员使用Go构建云服务的烟。所以今年Go官方将程序部署到全球三大云提供商 (Amazon Web Services,Google Cloud Platform和Microsoft Azure)的比例保持不变,并且对自有或公司拥有的服务器的本地部署继续减少。