在调研了全球超过 90000 名开发者之后,程序员社区 Stack Overflow 重磅发布了《2023 Developer Survey》调查报告。在本次报告中,Stack Overflow 从工具、编码、工作、社区等维度展开,同时深入研究了 AI/ML 技术,并解析开发者如何在工作流程中使用这些技术。
接下来,我们将通过这份报告,了解当前最热门的工具、最主流的技术、最前沿的趋势。
01 编程语言:JavaScript 连续 11 年成为开发者最常用的语言
2023 年延续了 JavaScript 连续十一年成为开发者最常用编程语言的势头。
据调研数据显示,在今年的十大编程语言中,我们看到三种流行语言的地位有所上升:Python、Bash/Shell(all shell)和 C。
其中,Python 已经超过了 SQL,成为第三大最常用的语言,对于那些非专业开发者或正在学习编程的人来说,Python 排在第一位。伴随着 Python 的流行,Python 库在"其他技术和框架"主题中,排名很高。在过去三年中,PumPy 和Pandas 一直在前十名中。
C 语言在今天依然这么流行是一个有趣的现象。尽管它从 20 世纪 70 年代就开始存在,但在 Stack Overflow 的开发者调查中还没有进入过编程语言的前十名,不过今年 C 语言排名上升了一位,位居第 10 名。另外,据TIOBE 指数显示,截至 2023 年 6 月,C 是第二大最受欢迎的编程语言,其参与人数接近其第一大语言 Python。鉴于 C 语言是最受欢迎的低级语言之一,它是物联网设备内嵌入式编程的首选语言,而且根据编程课堂 Codecademy 的说法,C 语言"为我们几乎所有的技术体验提供动力",所以今年开发人员比以往任何时候都更多地使用 C 语言是有道理的。
当进一步细分到专业开发者和正在学习编码的人的身上,我们发现,专业开发者最常用的编程语言分别是 JavaScript、HTML/CSS 和 SQL。
对于那些正在学习编码的人来说,HTML/CSS 和 JavaScript 几乎并列为他们学习编码的最流行语言。学生开发人员使用 Python 多于 SQL(59% 对 37%)。
除此之外,Stack Overflow 还对开发者最为钦佩和期望使用的语言进行了调研。
数据显示,Rust 是开发者最受推崇的语言,超过 80% 使用它的开发者希望明年再次使用它。与之形成鲜明对比的是,只有不到 20% 的人希望明年再次使用 MATLAB 语言。
02 数据库:PostgreSQL 取代了 MySQL 位居第一
今年,PostgreSQL 取代了 MySQL 位居第一。专业开发人员比那些学习编码的人更有可能使用 PostgreSQL (50%),而那些学习编码的人更有可能使用 MySQL (54%)。
专业开发人员和学习编码的人使用 MongoDB 的比例相似,对于学习编码的人来说,它是第二受欢迎的数据库(仅次于 MySQL)。
数据显示,在开发者眼中,PostgreSQL、Redis 和 Datomic 是他们最受推崇的数据库,虽然其中 Datomic 的用户最少。不过,这种推崇应该会促使其他人将 Datomic 视为一个可行的选择。
03 云平台:AWS 使用率是 Azure 的两倍
AWS 仍然是所有开发者最常用的云平台,使用率几乎是所有受访者使用第二多的云平台 Azure 的两倍。
值得注意的是,Heroku 是去年编程学习者使用最多的云平台,但今年跌至第五位。
对于已使用过这些平台的开发者而言,Hetzner 和 Vercel 有很大一部分已经使用开发者希望未来可以继续使用它们 (69%+)。
04 Web 框架和技术:Node.js 和 React.js 最常用
Node.js 和 React.js 是所有受访者最常用的两种 Web 技术。
专业开发人员相当平等地使用两者,而那些学习编码的人使用 Node.js 多于 React(52% vs 48%)。
其次,开发者最常用 jQuery 和 Express 。在专业开发者群体中,他们使用 jQuery 的次数多于学习编码的人(24% vs 18%),而学习编码的人使用 Express 的次数多于专业人士(25% vs 18%)。
另外,Next.js 从 2022 年的第 11 位上升到今年的第 6 位,这可能是因为它在学习编码的人中很受欢迎。
在期望学习的框架中,Phoenix 是开发者最为推崇的 Web 框架和技术。与使用过三种最常见的 React、Node.js 和 Next.js 的开发人员相比,更多的开发人员会选择再次使用 Phoenix。
05 其他框架和库
在所有受访者中,.NET (5+) 今年再次成为其他框架和库的榜首。不过,有些细微差距的是,学习编码的人更多地使用 NumPy 和 Pandas 库,而不是 .NET (5+)。正如上文所述,这些库使用率较高的原因是因为它与 Python 兼容。
云时代下,Docker 是开发者最受欢迎的工具
今年,Docker 是所有受访者中使用最多的工具 (53%),高于去年的第二位。
学习编码的人更有可能使用 npm(50%)或 Pip(37%),而不是 Docker(26%)。
Visual Studio Code 仍然是所有开发人员的首选 IDE,今年它在所有开发人员中的使用率从 75% 增加到 81%。
数据显示,Jira 和 Confluence 是所有开发人员中排名前两位的异步工具,与去年类似,但今年榜单有一名新成员闯入 Top3:27% 的受访者将 Markdown File 用作异步工具。
不过,学习编码的人更多地使用 GitHub Discussions 而不是 Markdown File(31% vs 29%),并且比专业开发人员更多地转向 Notion (26%) 和 Trello (23%)。
三种最流行的同步工具对所有受访者来说都是通用的:Microsoft Teams、Slack 和 Zoom。Zoom 去年名列榜首,但今年排名第三,过去一年使用它的人数减少了约 10 个百分点。
无论是个人使用还是专业环境使用,Windows 都是最受开发人员欢迎的操作系统。
06 ChatGPT 是最受欢迎的 AI 搜索工具
在今年报告中,Stack Overflow 特别针对 AI 层面进行了深入的调查。数据显示,83%的受访者在过去一年里使用过 ChatGPT。远远超过排名第二位的 Bing AI(20%)。
不过,有 42% 的受访者希望明年能够尝试使用 Google Bard 或 Bing AI。
在编码层面,GitHub Copilot 是开发者最常用的 AI 开发编码工具,去年有 55% 的受访者使用它,今年是排名第二的 Tabnine(13%)的四倍。
07 过去一年,薪资中位数增长 10%,Zig 最吃香
据调查报告显示,Zig 是薪资最高的编程语言,Erlang、F# 分别位居二三位。
Dart 和 SAS 在 2023 年的薪酬中位数增幅最高,同比增长超过 20%。
所有受访者的工资中位数增长了 10%,专业开发人员的工资中位数增长了 11%。
根据工作职位类别来划分,高级管理人员和工程经理等高级职位的薪水往往最高。
工作年限越久,往往工资水平越高。根据报告显示,薪酬最高的三个职位如高管、经理、营销或专业销售人员,任职的人平均拥有超过 11 年的工作经验。
08 AI 工具对程序员带来了哪些影响?
自去年 11 月 ChatGPT 发布以来,Stack Overflow 网站的流量受到了不小的冲击,随之该网站也相继宣布加大 AI 的布局,欲推出人工智能相关的付费服务。
因此,在本次报告中,Stack Overflow 也邀请开发者分享对于这些新型工具的看法。
数据显示,70% 的受访者正在或计划在其开发过程中使用 AI 工具。那些学习编码的人比专业开发人员更有可能使用 AI 工具(82% vs. 70%)。
目前是否使用 AI 工具
对于 AI 工具渗透到编码日常中,究竟是好事还是坏事?77% 的开发者非常赞成使用 AI 工具进行开发。不过,和正在学习编码的人相比,有 17% 的专业开发者感觉无所谓。
提高生产力是开发者从 AI 工具中看到的最大好处。其次,加速学习和提高效率是很多开发者使用 AI 工具的次要原因。
然而,在使用过程中,开发者对 AI 工具输出内容的准确性存在分歧。近 42% 的开发者相信 ChatGPT 等工具的输出,不过 31% 的人持观望态度。
在开发流程中,82.55%的开发者觉得 AI 工具可以有助于编写代码。其次,他们常在调试、记录代码、学习代码库等过程中使用 AI 工具。
当然,无论是专业的开发者还是正在学习编码的人,他们都相信开发工作流程将在未来一年内因为 AI 工具的普及而变得不同。