近日,著名的开发者问答社区 Stack Overflow 发布了最新的开发者年度调查报告。该调查于每年 5~6 月份进行,已经持续 14 年了。

今年,共有来自全球 185 个国家的 6.5 万名开发者参与了调查。其中,大约 75% 的参与者是专业程序员,10% 的参与者在工作或学习中涉及编程(虽然他们不是专职程序员),6% 的参与者正在学习编程。

参与者的受教育水平

在所有参与调查的人员中,75% 左右的人拥有专科或以上学历,13% 的人有过大学学习的经历但未达到毕业要求(在读、辍学或结业等),11% 的人处于高中或以下文化水平。

专业程序员的受教育水平相对高一些,80% 左右的人拥有专科或以上学历,只有 6% 的人处于高中或以下文化水平。

非常有趣的是,正在学习编程的人群受教育水平明显偏低。只有 32% 的人拥有专科或以上学历,20% 的人有过大学学习的经历但未达到毕业要求(在读、辍学或结业等),而高中或以下文化水平的人高达 45%。

根据这一群体的年龄数据,23% 的人还未满 18 岁(高中毕业生的年龄大多在 17~18 岁),说明一些正在学习编程的人还是学生,尚未完成学业。但显而易见,学生人数还是远远低于正在学习编程的高中及以下文化水平的总人数。

这或许说明,编程的难度已经没有那么高了。除了编程语言的进步,可能还因为学习资源越来越多、越来越通俗易懂,而且越来越容易获取。

最受欢迎的学习资源

学习编程时,大家最喜欢使用在线资源,其次是书籍、网络课程 (E-courses or Certification) 和线下培训 (school)。

不同的人群对学习资源的偏好有些许差异。正在学习编程的人更加喜欢参加线下培训和网络课程。相比之下,已经有编程经验的人更喜欢看书,在职培训的机会也更多一些。

从按年龄段统计的学习资源数据来看,年纪越轻越喜欢使用在线资源,年纪越大越喜欢看书。25~64 岁的人获得在职培训的机会最多,各年龄段大都在 50% 左右。18~24 的人最喜欢参加线下培训。

比较反直觉的一点是,年龄越大,从亲朋好友那里获得的学习机会越少。在参与调查的人员中,18~44 岁的中青年占 80% 左右。参与者的年龄分布曲线,并没有呈现出“年龄越大,会编程的人越少”的单一趋势。

所以,我猜测这或许是因为大家参加工作以后,与亲朋好友的职业技能重合的概率比较低,相互帮助的概率也就比较低。相比之下,在 25~64 岁的工作年龄段,大家从同事那里获得的学习机会要多得多。

在所有可以用来学习编程的在线资源中,使用技术文档的人数最多,占总人数的 84%。其次是 Stack Overflow、图文教程、博客和视频教程。

一些趣味性比较高的在线资源,比如互动型教程和具有游戏化设计的培训项目,使用的人并不多。这或许是因为这类资源比较少,获得难度也比较大。

在所有的技术文档中,使用 API 文档和 SDK 文档学习编程的人最多,占总人数的 90%。其次是用户手册和存储库中的 README 文件。

人工智能的应用前景

自去年 ChatGPT 惊艳全球之后,Stack Overflow 就在每年的开发者调查中专门增加了关于人工智能 (AI) 的版块。

今年,使用 AI 协助编程或开发的人数大幅增长,由去年的 44% 增加到了今年的 62%。在这一年的时间里,专业程序员对 AI 的态度转变比较明显。去年,专业程度员的 AI 使用率只有 44%,比正在学习编程的人少了 10% 左右。而今年,这两个群体的 AI 使用率已相差无几,都在 63% 左右。

虽然 AI 使用率提高了,但大家对 AI 的满意度却下降了。喜欢或非常喜欢 AI 的人数由去年的 76% 下降到了今年的 72%。讨厌或非常讨厌 AI 的人数则由去年的 3% 上升到了今年的 6%。

根据美国知名的咨询公司高德纳 (Gartner) 的专业研究,一项新科技从出现到成熟一般会经历五个阶段:科技诞生之初的触发期、人们对科技寄予过高期望的膨胀期、回归客观现实的幻灭期、稳步增长的复苏期和实现商业价值的成熟期。

今年大家对 AI 的满意度下降,大概就是步入了幻灭期的信号吧?!

关于 AI 的最大优势,得票率最高的是提高产出率,其次是提高学习效率和工作效率。正在学习编程的人对提高学习效率的体会尤其深刻,有 71% 的人对此投了赞成票。

目前,大家用 AI 做的最多的事情是写代码,其次是智能问答、调试代码和(为代码)编写文档。

在接下来的一年里,如果将 AI 纳入开发流程,大家选得最多的功能是(为代码)编写文档,其次是测试代码和智能问答。

当下最流行的 AI 工具自然是 ChatGPT,其次是 GitHub Capilot、Google Gemini 和 Bing AI。其中,高达 82% 的人正在使用 ChatGPT,远超其他 AI 工具。

最流行的编程语言

用于网页开发的脚本语言 JavaScript 已霸榜十多年了,今年仍然属它最流行。紧随其后的是 HTML/CSS、Python、SQL 和 TypeScript。

而编程新手最爱学的编程语言是 Python,其次是 HTML/CSS、JavaScript、Java 和 C++。

最受欢迎的数据库软件是 PostgreSQL,其次是 MySQL、SQLite、Microsoft SQL Server 和 MongoDB。

最受欢迎的云服务平台是亚马逊云科技 (AWS),其次是微软云 (Microsoft Azure) 和谷歌云 (Google Cloud)。

最受欢迎的代码编辑器是 Visual Studio Code,其次是 Visual Studio、IntelliJ IDEA、Notepad++ 和 Vim。

最能帮开发者赚钱的编程语言是 Erlang,其次是 Clojure 和 Elixir。

参考资料

  1. Stack Overflow. 2024 Developer Survey.
  2. Stack Overflow. 2023 Developer Survey.