2022 年第二季度 Go 开发者调查报告


Go 博客发布了 2022 年第二季度 Go 开发者调查报告。据介绍,总共有 5752 名开发者参与了本次调查,分享了他们使用 Go 1.18 中新特性的经验和心得。

主要发现

  • 泛型已被迅速采用。大多数受访者都知道 Go 1.18 已正式支持泛型,大约四分之一的受访者表示他们已经开始在 Go 代码中使用泛型。不过开发者也已经遇到了初始泛型实现的一些限制。
  • Fuzzing(模糊测试)对大多数 Go 开发者来说是新事物。受访者对 Go 内置模糊测试的认知远低于泛型,并且他们对于为什么或何时考虑使用模糊测试有更多的不确定性。
  • 第三方依赖是最重要的安全问题。避免具有已知漏洞的依赖项是受访者面临的最大安全相关挑战。更广泛地说,安全工作通常是没有计划、也没有回报的,这意味着工具需要获取开发者的时间和注意力。
  • 官方在发布新功能时可以做得更好。与通过 Go 博客找到此次调查的人相比,随机抽样的参与者不太可能了解最近的 Go 工具版本。这说明官方应该在博客文章之外寻找机会交流 Go 生态的变化,或者扩大影响力以更广泛地分享这些文章。
  • Error handling(错误处理)仍然是一个挑战。随着泛型的发布,受访者在使用 Go 时面临的最大挑战转移到了错误处理上。不过总体而言,开发者对 Go 的满意度仍然很高,而且受访者表示他们使用 Go 的方式没有明显变化。

受访者对 Go 泛型的认知情况

绝大多数受访者 (86%) 已经知道泛型是作为 Go 1.18 版本的一部分而发布。官方称这个比例比他们预期的要高得多。此外,大约四分之一的受访者已经开始在 Go 代码中使用泛型 (26%),其中 14% 的人表示他们已经在生产或发布的代码中使用了泛型。大多数受访者 (54%) 并不反对使用泛型,但目前并不需要它们。还有 8% 的受访者表示,他们想在 Go 中使用泛型,但目前被某些东西阻止了。

所以是什么阻止了开发者使用泛型?大多数受访者属于以下两个类别之一。第一,30% 的受访者表示他们遇到了当前泛型实现的限制,例如所需要的参数化方法、改进类型推断或切换类型。受访者表示,这些问题限制了泛型的潜在用例,或者认为它们导致泛型代码不必要地冗长。第二类涉及尚不支持泛型的事物——linter 是最常见的工具,此外还包括组织仍然使用早期的 Go 版本或依赖于尚未支持的 Linux 发行版。

12% 的受访者表示 Go 泛型学习曲线陡峭或缺乏有用的文档。除了这些最重要的问题,受访者还介绍了一系列不太常见的挑战,如下图所示:

受访者使用 Go 开发什么?

两个最常见的用例仍然是构建 API/RPC 服务 (73%) 和编写 CLI (60%)。

Go 团队使用线性模型来调查受访者使用 Go 的时间与他们使用 Go 构建的东西的类型之间是否存在关系。最终发现,具有 < 1 年 Go 开发经验的受访者更有可能在该图表的下半部分构建一些东西(GUI、物联网、游戏、ML/AI 或移动应用程序),这表明他们对在这些领域使用 Go 感兴趣。但拥有 1 年 Go 开发经验后,这些开发者更少关注上述领域,这意味着他们在这些领域使用 Go 时遇到重大障碍。

大多数受访者在使用 Go 开发时使用 Linux (59%) 或 macOS (52%),绝大多数部署到 Linux 系统 (93%)。在此次调查中,官方添加了一个在 WSL 上开发的选项,最后 13% 的受访者选择了该选项。

受访者在编写 Go 代码时最喜爱的编辑器

可以看到,免费开源的 Visual Studio Code 是 Go 开发者编写代码的主流选择 (45%),GoLand 的比例略低 (34%)。

完整报告。


相關推薦

2022-05-21

年 12 月至 2022 年 2 月期间对 166 个国家/地区的 20,000 多名开发者进行调查的数据。 报告指出,JavaScript 已经连续十次在该调查中占据最受欢迎的语言位置;社区持续增长,目前全球共有近 1750 万开发人员在使用。自两年前超过

2022-08-10

也只筹集了不到 20 万美元的资金。 工作进展 2022 年第二季度,FreeBSD 进行了 243 次源码树提交、62 次移植提交和 12 次文档树提交。以下是部分重要变更: 改进其 Linux 兼容性层,改进 ARM64 仿真层、系统调用跟踪工作和各

2023-04-24

Q1 的 8.4 万左右要好一些) 开发工作进展 2022 年第二季度,FreeBSD 进行了 226 个源码提交、39 个移植提交和 12 个文档提交。以下是部分重要变更: 持续集成,目前正在开发脚本来帮助源码开发人员进行 CI 测试,主要目

2022-03-14

VDSO 基础设施 FreeBSD 基金会为项目提供硬件和支持。2021 年第四季度,他们开始寻找新的澳大利亚镜像服务器。在发布公告时,该服务器已购买,但由于组件和运输出现延迟,可能要到 2022 年第二或第三季度才开始使用。澳大利

2023-05-18

知名软件行业分析公司 RedMonk 日前发布了 2023 年第一季度的编程语言排行榜。 收集数据的基本过程如下: RedMonk 从 GitHub 和 Stack Overflow 中提取语言排名,并将它们组合成一个排名,试图反映代码(GitHub)和讨论(Stack Overflow

2023-10-28

昆仑万维发布了2023年第三季度报告。据报告披露,昆仑万维第三季度全面加速推进“All in” AGI与AIGC的战略布局,在多个方向均取得了突破性进展。截至本报告期末,昆仑万维实现营业收入36.8亿元,同比增长8%。实现经营性现金

2023-06-14

,移动网络质量领航方阵常务副秘书长秦岩发布了“2023年第一季度全国移动网络质量监测报告”。 报告显示,2023年第一季度,我国网络基础设施建设稳步推进,5G网络连接用户规模持续扩大,移动互联网接入流量保持较快增长

2022-04-12

已经签署了收购 Puppet 的最终协议;交易预计于 2022 年第二季度完成,具体的交易金额尚未披露。 Puppet 的 500 名员工、品牌和软件套件目前将继续作为 Perforce 内的一个独立业务部门运行。Puppet 是一个基础设施自动化软件平台,

2022-12-14

 angular, vue, node. 2、Python Python 成为了 2022 年第需求量二大的编程语言。DevJobsScanner 称,它的多功能性,从脚本、运行服务器到数据分析,一直是实现这一里程碑的关键。此外,Python 拥有最伟大和更大的社区之

2023-05-18

Go 博客发布了 2023 年第一季度 Go 开发者调查。共 5,844 名开发者参与了本次调查,分享了他们有关如何使用 Go、在使用 Go 时遇到的最大挑战、以及他们首要考虑的改进方向等方面的内容。 今年的调查引入了一个基于自我认定的

2024-02-19

祝大家开工大吉,龙年大吉。 开放签开源工具版将在24年第一季度更新验签、骑缝签署、国密签署等功能,同时开放签企业版也将上线PC端、移动端、API集成三方面的完整能力。届时开放签电子签章能力将更加完善,从业务至技

2022-11-14

知名软件行业分析公司 RedMonk 发布了 2022 年 6 月(第三季度)编程语言排行榜。 RedMonk 编程语言排行榜通过追踪编程语言在 GitHub 和 Stack Overflow 上的代码使用情况与讨论数量,统计分析后进行排序,其旨在深入了解潜在的语言

2023-03-21

个项目,在全球企业开源榜位居前十,获得了超过40万的开发者关注和点赞。 在开源人才培养中,腾讯联合高校开展开源人才培养计划。目前已覆盖来自13个国家、29个省份、265所国内外高校超过1000名学生。

2023-07-20

编程语言需求工作中的 29%。 2、Python Python 成为 2023 年第需求量二大的编程语言。DevJobsScanner 称,它的多功能性,从脚本、运行服务器到数据分析,一直是实现这一里程碑的关键。此外,Python 拥有最伟大和更大的社区之