前言
JetBrains是一家位于捷克的软件开发公司,有很多知名的开发IDE都是他们家的,比如IntelliJ IDEA、CLion、PyCharm、WebStorm等等,还有Kotlin编程语言也是JetBrains开发的,后来成为Android官方开发语言。
自2017年JetBrains发布第一个年度报告以来,各种指标也备受开发人员关注,是编程领域的风向标。
2023年度报告是JetBrains汇集了来自全球 26,348 位开发者的洞察,其中也有我的一份。
这份报告涵盖的主题也很多,包括编程语言、工具、技术等等,甚至包括年龄和收入,并增加了人工智能发展趋势,包括开发者对于AI的接受度和顾虑等。
下面一起来看看这份2023年度报告中有哪些值得我们关注和有趣的地方。
编程语言
编程语言是开发者的工具箱,不同的工具用来处理完成不同的工作,而什么样的编程语言更出色,也一直是广大开发者讨论的一个热门话题。

Objective-C 客观来讲已经退休了
过去六年,Objective-C 失去了三分之二的用户,似乎即将走到生命的尽头。在过去一年中,只有不到 2% 的程序员至少使用过一次,只有 11 名调查参与者报告说该语言是他们的主要语言。Objective-C 使用率的下降速度甚至超过了 COBOL 和 Perl。
这种语言自 1984 年推出以来一直发展良好,直到 Apple 于 2014 年发布其继承者 Swift。由于存在其他跨平台语言,例如 Kotlin、Dart 等,iOS 开发者的选择余地很大,几乎没有理由继续使用 Objective-C。
而iOS开发者在国内的处境也越来越难了啊...
对 Rust 的信任:成长的故事
Rust 是今年唯一创下受欢迎程度新纪录的常用语言。Rust 立志以其严格的安全性和内存所有权机制取代 C++,最初可能会击败 Go,因为六分之一的 Go 用户在考虑采用 Rust。Rust 与 Scala 一样,是最少程序员想要迁出的语言。
Rust YYDS。
JavaScript 的受欢迎程度略有下降
去年,排名前三的语言在受欢迎程度方面不相上下。今年,它们之间仍然没有太多差距,Java 重夺第一名宝座,JavaScript 在下降三个百分点后跌至第三。
似乎一些最初将 TypeScript 与另一种语言结合使用的程序员正在逐渐过渡到只使用该语言。2020 年,有 47% 的 TypeScript 用户将它与 JavaScript 一起使用;今年,这一数字下降到 38%。可以合理地假设,未来 JavaScript 的份额将进一步下降几个百分点。
在 JavaScript 用户中,想要学习另一种语言的程序员比例要高于其他语言的程序员。这也增大了用户流失的几率,而 TypeScript 将从用户迁移中获益。

最少想要迁出的语言
呈上,Scala 和 Rust 是最少程序员想要迁出的语言,Kotlin排在第6位,Java排在第15位,有点意思。

按主要语言的高薪员工比例
更有意思的是,使用Kotin的高薪员工比例排在第3位,总所周知,使用Kotlin的基本都是Android开发者,那么看来其他地区的Android开发者要比国内挣的更多啊...

受众特征
就业情况

职位占比

年龄段

年龄结合职位来看,取交集,年轻高潜在哪都是香饽饽啊...
30 岁以下开发者比例

日本最少?特意查了下,因为老龄化和少子化原因,IT行业平均年龄在40岁左右...
教育水平

公司规模

工资


性别分布
近三年,女性开发者比例一直没变,但是男性比例降了,这就有点微妙了啊...

AI
看法
很多人有顾虑,但是"顾虑归顾虑,不影响我使用啊"。

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

AI对代码生成的影响

虽然五分之三的受访者认为 AI 编码工具将从根本上改变软件开发就业市场,但只有 13% 相信 AI 将完全取代开发者编写代码。尽管如此,大约三分之一的人相信软件工程一定会变成提示工程。
总体看来,开发者相当乐观,相信 AI 将成为协助编写代码的新工具,而不是开发者被 AI 所取代。
使用的AI工具比例

看来大家还是使用ChatGPT和Copilot比较多,更倾向于文本类生成和代码生成。
AI处理工作比例
前提:假设 AI 助手的表现与人类相似。

emmm,主要还是用来完成一些不太重要的活,代码还是要自己来写,从心理学上讲,这可能是在自我保护啊😆
虽然现阶段AI编写的代码确实还达不到百分百信任,但是未来肯定是可以达到的,然后AI再相互review,好像就没我什么事了啊...(完犊子)
测试
测试类型

无的这一部分不就是线上测试吗🐶

测试技术

测试和开发比例

生活方式
为什么选择成为一名软件开发者?

这一项在国内偏差很多...
找工作

还是内推靠谱啊...
工作中哪些比较重要

我悟了...如何让公司也悟下这条...
学习的编程语言比例

Python yyds,但是TypeScript的势头也很猛。
学习动机

不适用国内。
学习途径

你悟了吗?
日常
开始一天的工作时,最先打开的
先摸一会是吧,看来大家都是一样的😆

当 IDE 死机时,我心里会想
先摸一会。

周末卷吗

开发设备

显示器数量

设备内存

怎么还有人不知道的...
操作系统

玩游戏吗

开发
开发类型

是否开发跨平台

跨哪些平台
桌面应用程序:

移动应用程序:

移动开发比例

大多数从事移动开发的开发者在开发 Android 应用,超过半数参与 iOS 开发。
跨平台框架

保持高质量代码的最大障碍

想起来某脉上说,为什么大厂也有屎山,高赞回答:
- 因为只允许有写一遍就成的时间
- 因为能用就行,需求都排不过来
最后
JetBrains2023年度报告就介绍到这里,我希望大家不只是看乐子,还能从这份报告中有一些自己的认知和思考。
比如:
- Kotlin和Swift正在移动开发领域大杀特杀;
- 学习TypeScript和Rust的人越来越多;
- 大部分人都是在中小公司工作;
- 一天的工作从先摸鱼开始;
- 接受并学习跨平台;
- 积极去拥抱AI;
- 如何学习;
- 等等;
这份报告有非常多的结论,这些结论的背后原因是值得我们去思考的,甚至代表着机会。
加油吧各位------yechaoa