2023 开发者生态系统现状

这份报告汇集了来自全球 26,348 位开发者的洞察。开发者的世界广阔而多样,是无尽探索和学习的神奇领域。通过这样的年度研究活动,我们的目标是探索这个迷人的世界,揭示有关开发者及其技术的宝贵洞察,然后与社区分享这些信息。

《开发者生态系统现状报告》涵盖广泛的主题,包括编程语言、工具和技术,以及受众特征和有趣的事实。我们也将了解开发者独特的生活方式,揭示他们的热情和兴趣。

今年,我们还将调查范围扩展到 AI。我们研究了开发者对 AI 的看法,他们的顾虑、AI 助手的常用功能,以及 AI 赋能工具的当前采用情况。

这是一份公开报告,只要注明数据来源即可使用其内容。

分享:

DevEco 2023 调查的原始数据现已提供。 下载,探索,并获得您自己的见解

亮点

过去 7 年最常用的编程语言以及 2024 年的采用潜力

过去 12 个月,您使用过以下哪种(哪些)编程、脚本和标记语言?

2017201820192020 年2021 年2022 年2023 年可能采用
65%64%69%70%69%65%61%3%JavaScript
32%41%49%55%52%53%54%5%Python
60%55%61%61%60%54%52%1%HTML/CSS
42%47%56%56%54%49%52%2%SQL
47%51%50%54%49%48%49%3%Java
29%40%39%37%34%34%1%Shell
12%17%25%28%29%34%34%6%TypeScript
17%18%20%27%23%25%25%4%C++
20%22%24%22%21%23%21%4%C#
15%16%17%23%19%20%19%2%C
30%26%29%27%32%20%18%1%PHP
8%12%18%19%17%19%17%9%Go
2%9%16%17%14%16%15%6%Kotlin
2%5%7%6%9%10%10%Rust
9%8%11%9%7%7%6%4%Swift
10%8%11%8%6%5%4%2%Ruby
7%5%6%5%3%3%3%1%Scala
7%5%6%4%3%3%2%0%Objective-C
0%70%

JavaScript 的受欢迎程度略有下降

过去三年,排名前三的语言保持不变,但 JavaScript 的份额一直在下降。可以合理假设,它将继续小幅下降,因为 JavaScript 程序员表示学习另一种语言的可能性比其他程序员更高。

对 Rust 的信任:成长的故事

Rust 是今年唯一创下受欢迎程度新纪录的常用语言。Rust 立志以其严格的安全性和内存所有权机制取代 C++,最初可能会击败 Go,因为六分之一的 Go 用户在考虑采用 Rust。Rust 与 Scala 一样,是最少程序员想要迁出的语言。

Objective-C 客观来讲已经退休了

近年来,Objective-C 失去了三分之二的用户,似乎即将走到生命尽头。这种语言自 1984 年推出以来一直运行良好,直到 Apple 于 2014 年发布其继承者 Swift。由于存在其他跨平台语言,例如 Kotlin、Dart 等,iOS 开发者的选择余地很大,几乎没有理由继续使用 Objective-C

有关更详细的洞察,请参阅语言部分。

按主要语言显示的高薪员工比例

高薪员工是指薪资在所在国家或地区处于前四分之一的员工。

60%

Scala

50%

Go

41%

Kotlin

40%

C++

40%

Rust

38%

C

38%

Shell 脚本

2023 年,Scala、Go 和 Kotlin 开发者位列薪酬最高的三大类别。雇主们正在认识到能够驾驭这些语言复杂性的专家的价值,从而催生了 Scala、Go 和 Kotlin 开发者作为最高收入者的竞争格局。

过去 3 年科技行业的性别分布

2021 年2022 年2023 年
93%91%91%男性
5%5%5%女性
1%1%1%非二元性别、性别酷儿或非常规性别
1%2%2%不愿回答
1%93%

2021 年以来,调查数据一直显示女性开发者的比例没有改善。只有 5% 的开发者是女性,表明行业存在巨大的性别差距。为了确保所有人的平等机会和代表性,我们作为一个社区应该提出新的方式来解决性别多元化问题。

值得注意的是,2023 年,韩国以 30 岁以下女性程序员 14% 的占比呈现出良好趋势。这可能是 20 世纪 90 年代中期以来,政府促进性别平等和鼓励女性从事 IT 行业的长期战略政策的结果。

受众特征部分中详细了解性别平衡、薪资、地理位置和其他开发者趋势。

生成式 AI 服务的复杂格局

您是否赞同以下各项叙述?

59%

我对使用生成式 AI 服务有安全顾虑

53%

我已准备好将基于云的生成式 AI 服务用于工作任务

42%

我对使用生成式 AI 服务有道德顾虑

40%

本地或离线 AI 工具不太可能达到基于云的解决方案的质量和性能

28%

我公司的政策限制了对基于云的 AI 工具的使用

19%

我担心 AGI(通用人工智能)会对人类产生敌意

77%

的开发者使用 ChatGPT。

46%

的开发者使用 GitHub Copilot。

您使用以下现有 AI 助手功能进行编码的频率如何?

相当频繁有时很少从不
26%33%17%24%使用自然语言询问有关软件开发的一般问题
24%37%24%15%生成代码
19%26%22%33%生成代码注释或代码文档
18%26%21%36%解释 bug 并提供修正
14%27%22%37%解释代码
12%21%24%42%生成测试
11%21%19%48%使用自然语言查询搜索代码段
9%17%21%53%执行代码审查
9%16%19%55%总结最近的代码更改来更快了解情况
9%20%23%47%重构代码
9%17%20%54%通过自然语言描述生成 CLI 命令
6%12%20%62%生成提交消息
6%62%

开发者使用 AI 助手的最常见方式是使用自然语言询问软件开发相关一般问题。

您将以下活动委托给 AI 助手的可能性有多大(假设 AI 助手的表现与人类相似)?

我会委托给它我还不确定我还是会自己做
56%23%21%编写代码注释或代码文档
56%26%18%编写测试
55%26%19%在代码库中搜索代码段
50%23%27%编写提交消息
46%23%31%互联网搜索
35%34%31%在 CLI 中执行操作
34%31%35%执行代码审查
34%31%35%重构
31%28%41%了解最近的代码更改
30%30%40%调试
23%26%51%理解代码
17%28%54%编写代码
17%56%
AI assistant

JetBrains AI Assistant

AI Assistant 为软件开发提供 AI 赋能的功能。JetBrains AI 服务将 IDE 用户透明地连接到不同的大型语言模型 (LLM)。AI Assistant 具备上下文感知能力,可以帮助开发者更快地完成任务、提高工作效率。

免费试用

有关 2023 年软件开发中人工智能使用的更多信息,请参阅我们全新的 AI 部分。

开发者社区的心理健康

2023 年,了解职业倦怠的开发者对自己的心理健康表现出更强烈的兴趣,与没有经历过职业倦怠的开发者相比,参与度高出 7 个百分点。他们使用自我监测应用或设备来跟踪身体活动和睡眠质量的可能性也高出 6 个百分点。

有趣的是,受倦怠影响的开发者发现,心理健康相关因素,例如自我组织和时间管理,会显著影响其编码效率。而没有经历过倦怠的开发者则将工作效率提升与不涉及心理健康的因素相关联,例如学习新 IDE 和升级 IDE 功能。

73%

的开发者在其职业生涯中经历过倦怠。

有关开发者社区心理健康的更深入信息,请访问开发者生活方式部分。

学习和发展

您是否曾将职业领域转向 IT?

75%

否,IT 一直是我的主要领域

22%

是,在转向 IT 之前,我在另一个领域工作

3%

其他

以下哪种教育机构或资源让您迈出了成为开发者的第一步?

58%

正规教育

10%

书籍

10%

免费在线课程或编码学校

7%

博客、社区论坛

6%

线下课程、编码学校

4%

付费在线课程或编码学校

2%

代码营、用户小组、聚会

3%

其他

我们的开发者生活方式部分详细介绍了开发者教育和培训的最新趋势。

数据科学和机器学习

您是如何学习数据科学、机器学习或数据工程的?

56%

我独立学习过

41%

我在大学学习过编程或数据分析

36%

我学习过在线课程

19%

我以前做过软件工程工作

4%

其他

从上面两张图表可以看出,2023 年,大多数开发者表示他们主要在大学和其他正规教育机构学习编程。另外,在数据科学、机器学习或数据工程领域,超过一半受访者表示他们是自学的。

您参与以下哪种(哪些)数据相关活动?

46%

数据可视化

43%

数据收集/数据抓取

33%

探索性数据分析

31%

机器学习建模

31%

数据管道

23%

机器学习运营

21%

存储架构

18%

数据编排

2%

其他

15%

查看数据科学部分,了解有关数据科学、数据分析和机器学习的更多洞察。

DevOps 和云开发趋势

您使用什么云服务?

此问题仅向表示在云服务中托管的受访者显示。

61%

60%

Amazon Web Services

25%

25%

Microsoft Azure

23%

22%

Google Cloud Platform

10%

11%

阿里云

9%

8%

DigitalOcean

10%

5%

Heroku

63%

的开发者使用 Docker。

在我们的 DevOps 部分中探索基础架构开发、托管、容器、配置管理工具和基础架构配置洞察。

软件测试

58%

参与测试活动的受访者表示开发自动化测试。

46%

的受访者将测试用例设计作为测试过程的一部分。

您的项目中有什么类型的测试?

63%

单元

47%

集成

34%

端到端

32%

性能

1%

其他

15%

您可以在测试部分中详细了解开发者和 QA 工程师使用的测试做法。

开源项目

41%

的受访者为开源项目做出过贡献,20% 或多或少定期做出贡献。

有关开源、跨平台、静态分析和其他主题的更多信息,请参阅开发部分。

远程和协作开发

49%

的受访者参与远程开发。

61%

表示已经实践过协作开发,其中 45% 在网上进行,30% 面对面进行。

您使用什么工具进行远程同步协作开发?

67%

带屏幕共享的视频通话

28%

具有协作功能的编辑器/IDE

24%

远程桌面

1%

其他

11%

远程开发部分中了解详情。

通讯工具

您为以下哪种(哪些)类型的工具使用移动应用版本?

20192020 年2021 年2022 年2023 年
74%77%75%66%64%即时消息/视频通话
75%78%76%66%60%电子邮件
16%24%38%39%34%视频会议
39%42%41%40%33%日历
4%4%3%4%4%公司门户
4%5%4%3%3%服务台/帮助台
8%6%7%14%15%
3%78%

通信工具的移动应用使用率在 2020 年和 2021 年达到顶峰后显然有所下降。可能的原因是越来越多的员工重返办公室,许多公司似乎也都在鼓励这一点。

前往团队工具部分详细了解问题跟踪工具、版本控制系统、CI/CD 工具和通信工具。

感谢您的参与!

我们真诚地希望您能发现我们的报告有用。与您的朋友和同事分享这份报告。

如果您有任何疑问或建议,请发送电子邮件至 surveys@jetbrains.com