转行做 IT 多数在 30 岁+、43%程序员每天一半时间不在编码,最新开发者生态系统现状报告发布!...

JetBrains的报告显示,JavaScript使用率下降,Objective-C面临淘汰,Scala、Go和Kotlin薪酬最高。开发者日常工作中,会议和编码时间占比显著,AI工具如ChatGPT和GitHubCopilot渐受青睐,但主要用于辅助而非完全替代。此外,转行IT者多出于兴趣和技术热情,心理健康和效率提升受到重视。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0c99455eb81f2b6dd0e7e2ca80905816.gif

整理 | 苏宓

出品 | CSDN(ID:CSDNnews)

  • 程序员的一天,日常都在做什么?

  • 在前有编程语言历经 80 年的迭代,后有 GitHub Copilot、ChatGPT 等 AI 辅助编程工具的层出不穷,开发者的开发方式发生了什么样的变化?

  • 哪种技术最热门与能拿到高薪?

为了洞察开发者及其技术的最新趋势,行业中领头的 Java IDE IntelliJ IDEA、Kotlin 编程语言背后的软件工具开发公司 JetBrains 在调研了来自全球 26,348 位开发者后,最新发布了《2023 开发者生态系统现状》(https://www.jetbrains.com/zh-cn/lp/devecosystem-2023/)。

本报告涵盖编程语言、工具和技术,以及受众特征和有趣的事实,基于此,我们也将了解开发者独特的生活方式,揭晓他们独特的兴趣爱好。

话不多说,先速览本报告的精彩亮点:

  • JavaScript 使用率持续下降,苹果的 Objective-C 即将走到生命尽头;

  • 2023 年,Scala、Go 和 Kotlin 开发者位列薪酬最高的三大类别

  • 77% 的开发者使用 ChatGPT、46% 的开发者使用 GitHub Copilot

  • 52% 的国内开发者为开源做过贡献

  • Spark、Redis 是开发者最常用的大数据、数据库技术

  • 转行做 IT 的主要年龄是三十多岁,占职业转变的 38%

  • 近四分之三的受访者在职业生涯的某个阶段经历过倦怠

02e48882c1522d73b41b53e13dda213d.png

当代程序员的一天:聊天、开会、写代码

很多外行以及初入 IT 行业的从业者,往往只看到了高薪、加班、敲代码的标签,那程序员的日常究竟是什么样的?

对此,JetBrains 围绕开发者的生活方式揭晓了程序员的日常事务。

首先,当问及开始一天的工作时,开发者最先做的事情是什么时,68% 的受访者表示,其最先打开工作聊天工具,其次是分别打开 IDE /其他开发工具、查看邮件、日历等。

efb3f222662e4bdb84a84780d893af6c.png

至于具体的一天是怎么分配的,55% 的开发者会花 10%-30% 的时间在会议和工作相关交流上。 

15% 的人每天会花 60%-70%的时间用来编码,而超四成的开发者每天花在编码上的时间低于 50%。

746289f7c8c18ec909565ebfba8234eb.png

在编码问题上,71% 的开发者选择运行手动代码审查来保证代码质量。

220019fa4d6e4f6bdf6873a50a19337c.png

遗憾的是,经常遇到突发性任务,让他们没有时间足够的时间去保持项目高质量代码。这就需要不断地开会沟通,形成程序员工作的日常。

9e7af0043c7f9b82656dbfe81cea3c70.png

除了日常编码、开会之外,多数程序员也会花一些时间了解国内外科技大事,以及玩玩电子游戏。其中,21 岁以下受访者中 85% 有玩游戏这一爱好,但在 60 岁以上的受访者中,这一数字下降到 33%。

13d5344c4b573b3ce49f838cc846f593.png

9ba54d2c935a077419958adce97b6573.png

JavaScript 连续 7 年摘得桂冠,苹果的 Objective-C 即将迎来退休?

在新一年度的调查报告中,JavaScript 依然是最受欢迎的编程语言,占比 61%。其次分别为 Python、HTML/CSS、SQL、Java。

789ab2708f5c2411a0ef1b34ae646e0c.png 

JavaScript 虽稳居第一,但使用率逐年下降

不过,对比过去 7 年的数据来看,JavaScript 的份额一直在下降。对此,JetBrains 估测,未来它仍然会呈现小幅下降趋势,其中主要有两层因素:

  • 其一,在 JavaScript 用户中,想要学习另一种语言的程序员比例要高于其他语言的程序员。这也增大了用户流失的机率,而 TypeScript 将从用户迁移中获益。

  • 其二,似乎一些最初将 TypeScript 与另一种语言结合使用的程序员正在逐渐过渡到只使用该语言。2020 年,有 47% 的 TypeScript 用户将它与 JavaScript 一起使用;今年,这一数字下降到 38%。可以合理地假设,未来 JavaScript 的份额将进一步下降几个百分点。

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

排在榜单末位的 Objective-C 在过去六年间已经失去了三分之二的用户,JetBrains 官方直接做出这样的评价——「它似乎即将走到生命的尽头」。

在过去一年中,只有不到 2% 的程序员至少使用过一次,只有 11 名调查参与者报告说该语言是他们的主要语言。Objective-C 使用率的下降速度甚至超过了古老的 COBOL 和 Perl 语言。

JetBrains 表示,这种语言自 1984 年推出以来一直发展良好,直到 Apple 于 2014 年发布其继承者 Swift。由于存在其他跨平台语言,例如 Kotlin、Dart 等,iOS 开发者的选择余地很大,几乎没有理由继续使用 Objective-C。

Rust:在任何编程语言榜单都不容忽视的一颗新星

在今年最受欢迎的语言中,唯一创造新使用记录的语言是 Rust。Rust 的用户群在过去五年中稳步增长,有望凭借其严格的安全性和内存所有权机制取代 C++。根据 JetBrains 的数据显示,有六分之一的 Go 用户正在考虑采用 Rust。

21c3318bea5aa07d443209d1b6e3ce78.png

网站、使用工具、数据库是最常被开发的软件类型

调研结果显示,超八成的开发者使用 JavaScript、TypeScript 和 PHP 来开发网站,57% 的 SQL 用其开发数据库/数据存储系统。

fbb9ca8b3ac0c441e72b5033dd6b3665.png

Scala、Go、Kotlin 成为最高薪的三种编程语言

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

57333641831a946509052fe5d34320d4.png

43c5e347b88642bafa0aa4ee56e3a1dd.png

ChatGPT 是最常用的 AI 工具,开发者主要使用它询问软件开发问题

在本次报告中,JetBrains 首次加入了 AI 趋势的调研。

数据显示,开发者对 AI 文本生成工具比代码生成工具更熟悉,这可能是因为 ChatGPT 的受欢迎程度和易用性。

b548271b6de77e9077401e6fa3a3c29b.png

然而,由于 ChatGPT 等最新的 AI 文本生成工具也能够编写代码,开发者也可能将其用于这一目的。目前 77% 的开发者正在使用 ChatGPT、46%的人在使用 GitHub Copilot。但无论是由于与工作流的集成不完善还是通用方式,目前很少有开发者在长期使用。

7a7d4db1b374c0ceda48fbae1fb15865.png

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

b4f75f007cbe07e47023a2484ab2549e.png

79% 的开发者认为编写代码是最耗时的活动,但它也是受访者最喜欢的活动。

b4e08998d903d2fded6fdc846dda1bfd.png

只有 1.6% 的受访者从未听说过生成式 AI 工具,而在尚未熟悉生成式 AI 工具的人中,略低于一半的人计划在不久的将来做出尝试。安全顾虑是采用生成式 AI 工具时最常被提及的障碍。

65f2872703b4e58c7e33710c6e91dd1c.png

总体而言,受访者似乎对 AGI(通用人工智能)持积极态度。不到五分之一的人担心 AGI 会对人类产生敌意。然而,十分之六的受访者对使用 AI 存在安全顾虑。

数据显示,虽然五分之三的受访者认为 AI 编码工具将从根本上改变软件开发就业市场,但只有 13% 相信 AI 将完全取代开发者编写代码。尽管如此,大约三分之一的人相信软件工程一定会变成提示工程。

总体看来,开发者相当乐观,相信 AI 将成为协助编写代码的新工具,而不是开发者被 AI 所取代。

33c921ad12eaf97ba88346a0f04f07de.png

50c8cc18d6e7872d08412e4025ba08c0.png

Spark、Redis 是开发者最常用的大数据、数据库技术

信息时代,如何用好数据也是很多开发者面临的难题。调研显示,Spark 是开发者最常用的批处理工具,占比 30%。

d9f7f6cef4a21c1b1845bde447cbc928.png

不出所料,Apache Airflow 是最受欢迎的编排工具,特别是在数据工程师中。有趣的是,9% 的编排工具是自定义或自建的。

64cd1aabc728a86cd0f0503fd8332c37.png

在数据库方面,MySQL、PostgreSQL、MongoDB 是开发者最常用的数据库。整体来看,SQLite 的排名从第三位下降到第五位,这一趋势其实还是让不少开发者感觉困惑的地方,因为轻量化、易于使用的 SQLite 可用于独立桌面应用程序、嵌入式开发、移动应用程序的本地存储以及几乎其他任何地方,但是它的使用率的确较去年下滑了不少。

ae801bd55cc1179caf03a6ae89d8c785.png

按照区域来显示,中国大陆最常用 Redis、MySQL 等数据库。

89ee791ef21909788678c87db57740e6.png

与此同时,Navicat 在中国非常受欢迎,有 42% 的开发者使用它。这并不奇怪,因为这款工具从一开始就为中国用户量身定制,积极建立了在该市场的强大影响力。

818b9a305b492d6bab972c262db7b929.png

978e3ad35b408cf7a012c31b8be3a7c1.png

其他值得关注的最新趋势

52% 的国内开发者为开源做过贡献

在开源趋势下,41%的受访者为开源项目做出过贡献,20% 或多或少定期做出贡献。值得关注的是,全职开源开发者占少数,而能获得报酬的开源开发者只有 4%。

dc2d232b64d4bebd5931a9589feb2e38.png

在地理位置上来看,中国大陆有 52% 的开发者为开源项目做出贡献,排在第五位。

bd9532aa9fc964f60c3ff7289fe0eecd.png

云领域,阿里云的使用率相较去年有所增长

在开发过程中,54%的受访者表示会使用 Docker。

c7c3bfba6ebe7faa8473bc2830862699.png

而使用 K8s 集群最流行的方式是 kubectl——Kubernetes 的官方命令行工具。许多云提供商提供自己的控制台或命令行界面 (CLI) 工具,搭载特定功能并与云提供商的服务和功能集成。另一种常用的管理 K8s 集群并与之交互的方式是使用适用于 JetBrains IDE(例如 IntelliJ IDEA、GoLand 和 PyCharm)的特殊插件,或适用于 Visual Studio Code 的插件。这通常包括集群探索、部署管理和资源可视化等功能,这使开发者更容易使用 Kubernetes。

387750e31a71d970d4a081d71b22f6e9.png

在云服务方面,AWS 稳居第一,其份额是第二名 Microsoft Azure 的两倍。与此同时,阿里云的使用量相较去年有一定的增长。

bcc1a274cfd5fa9c1954df325a9c4c06.png

Python、C++、C 是嵌入式开发者最常用的语言

近几年,随着 AI 的崛起,嵌入式向着更智能、更个性化、更高效的方向发展,开启了新的应用场景和机遇,也有越来越多的开发者加入这一浪潮之中。

根据数据显示,31%的开发者在嵌入式开发中使用 Python 语言,其次热门的语言有 C++、C 和 Java。

25592352e71317a79e1899225f3e4cf7.png

嵌入式开发中使用的语言

对于嵌入式开发者而言,C++ 是必入门的一项编程语言。近几年来,不少人认为 C++ 越来越复杂,调查显示,即使如此,也有很大一部分嵌入式开发者已经在使用 C++20 了。因此,此版本扩展了编译时能力,这对于那些非常重视运行时性能的行业非常有利。

aa7218d24cf60b85ba850a5b85357fa9.png

经常使用的 C++ 标准

Visual Studio Code 则是这些开发者最常用的 IDE。

ddf9d503c3766cdbbbd5111748be3ca3.png

最常用 IDE/编辑器

当问及嵌入式开发者最常使用那些单元测试框架时,35% 的 C++ 开发者在使用 GoogleTest。对此,PlatformIO Labs 首席执行官Ivan Kravets 评价道,嵌入式软件开发生态系统中越来越高的测试框架采用率是一个有希望的趋势,虽然目前仍有 20% 的开发者尚未使用。这种向测试驱动方式的转变标志着一个积极的方向,增强了嵌入式系统的可靠性和质量,也展示了业界交付稳健产品的承诺。

9e5dfdb90e5a25119d7fd9d5f28b6d1b.png

经常使用哪种(哪些)单元测试框架

GCC 是开发者最常使用的编译器工具。“GCC 编译器的压倒性偏好可归因于其开源特性、广泛的架构支持和强大的优化功能,这为开发者的嵌入式项目带来了灵活性和经济高效的解决方案。”

b3f67fcc50202daae1b460f8751f2a97.png

经常使用哪种(哪些)编译器

团队工具

在团队内部,76% 的开发者经常使用源代码协作工具。

7fd449108372666ddff71e9efb87197d.png

最常使用的工具类型

对很多团队而言,其在 2020 年和 2021 年最常使用了移动应用通讯工具,近两年,随着越来越多的员工重返办公室,这些工具的使用率均有所下降。

fbd22deeeb925c24f90626e07390a341.png

具体工具维度,对于企业而言,Jenkins 是最受欢迎的 CI 系统工具,而 GitHub Actions 是个人开发者最常用的。

与此同时,Git 已成为通用软件开发中版本控制的事实标准。但是,在某些领域,其他系统仍有很强的竞争力,例如游戏开发领域的 Perforce(35% 的用户是游戏开发者)。

5f287ea9bfdd42cf8240f8be21ef3e5a.png

最常用的版本控制系统4f99d296161fc7d6a0df231bff1a975c.png

开发者生活方式:转行 IT 源于兴趣,四分之三的开发者曾经历过倦怠

事实上,在全球科技竞争愈演愈烈的趋势下,很多人加入 IT 行列。

调查数据显示,转向 IT 的主要年龄是三十多岁,占职业转变的 38%。从职业生涯一开始就从事 IT 行业的人中有 46% 年龄在 21-29 岁之间。

463e6316719110d1b1e827b791109fd9.png

而之所以选择转行,71% 的受访者表示,是因为“技术、计算机以及与之相关的一切对我来说都很有趣”。20%的人出于「能拿到丰厚的薪水和其他福利」这一层因素。更有趣的是,在转型 IT 的人中,有 14% 的人是被远程工作的可能性所吸引,只是当前全球“远程办公”的趋势正在减缓。

933fa50dde5db21bed660bb4682b56d5.png

对受访者来说,良好的工作时间、良好的薪酬和感觉自己能有所成就是开发者选择一家公司的关键因素。

9eb3ef8e1e1d8348ca28ca2dd87a6dbc.png

对于开发者而言,学习一门新语言的动机最主要还是出于兴趣,其中 Python、JavaScript 和 Java 在他们开始或继续学习的语言列表中位居前列。超过 50% 是出于兴趣学习新语言,44% 和 43% 的学习者分别是出于个人项目和跟上最新趋势。TIOBE 指数证实了 Python 的受欢迎程度,许多组织在 AI、自动化、数据分析和数据可视化需求方面的持续爆炸式增长使其成为对任何开发者都有用的语言。

927923eb0d12484b807c3b6ea42b708f.png

随着现在竞争环境激烈,近四分之三的受访者在职业生涯的某个阶段经历过倦怠。

65f9430830fd2d03f192c2b3562eb44d.png

好消息是,近一半的人关注自己的心理健康,主要是通过自己练习心理技巧。

在进一步调研中,JetBrains 发现经历过倦怠的开发者倾向于表示提高其日常编码效率的因素涉及心理健康、自我组织和时间管理(46% 对未经历过倦怠者的 42%),以及情绪状态管理(25% 对 15%),而较少表示工具提高其编码效率。

同时,未经历过倦怠者更常提到的因素包括学习 IDE(59% 对经历过倦怠者的 55%)、工作和流程的组织(31% 对 28%),以及 IDE 功能升级(37% 对 32%)。

7a11ac3fea38499a2409fb08e8b55e8b.png

以上是《2023 开发者生态系统现状》的主要内容,更多完整报告内容可查看:https://www.jetbrains.com/zh-cn/lp/devecosystem-2023/

推荐阅读:

一切为了应用!九章云极DataCanvas大模型系列成果重磅发布!

OpenAI巨变:超96%员工请辞,微软亚马逊入战局、马斯克质问Ilya,Sam Altman回归再现生机

▶终于大结局?Altman 重返 OpenAI 担任 CEO,Greg:今晚就重新开始编码!

7dac8855a71992ec6a073a44cab667c3.jpeg

内容概要:本文详细探讨了双馈风力发电机(DFIG)在Simulink环境下的建模方法及其在不同风速条件下的电流与电压波形特征。首先介绍了DFIG的基本原理,即定子直接接入电网,转子通过双向变流器连接电网的特点。接着阐述了Simulink模型的具体搭建步骤,包括风力机模型、传动系统模型、DFIG本体模型和变流器模型的建立。文中强调了变流器控制算法的重要性,特别是在应对风速变化时,通过实时调整转子侧的电压和电流,确保电流和电压波形的良好特性。此外,文章还讨论了模型中的关键技术和挑战,如转子电流环控制策略、低电压穿越性能、直流母线电压脉动等问题,并提供了具体的解决方案和技术细节。最终,通过对故障工况的仿真测试,验证了所建模型的有效性和优越性。 适用人群:从事风力发电研究的技术人员、高校相关专业师生、对电力电子控制系统感兴趣的工程技术人员。 使用场景及目标:适用于希望深入了解DFIG工作原理、掌握Simulink建模技能的研究人员;旨在帮助读者理解DFIG在不同风速条件下的动态响应机制,为优化风力发电系统的控制策略提供理论依据和技术支持。 其他说明:文章不仅提供了详细的理论解释,还附有大量Matlab/Simulink代码片段,便于读者进行实践操作。同时,针对一些常见问题给出了实用的调试技巧,有助于提高仿真的准确性和可靠性。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CSDN资讯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值