JetBrains2023年度报告,编程领域的风向标

news2024/11/23 2:34:37

前言

JetBrains是一家位于捷克的软件开发公司,有很多知名的开发IDE都是他们家的,比如IntelliJ IDEA、CLion、PyCharm、WebStorm等等,还有Kotlin编程语言也是JetBrains开发的,后来成为Android官方开发语言。

自2017年JetBrains发布第一个年度报告以来,各种指标也备受开发人员关注,是编程领域的风向标。

2023年度报告是JetBrains汇集了来自全球 26,348 位开发者的洞察,其中也有我的一份。

这份报告涵盖的主题也很多,包括编程语言、工具、技术等等,甚至包括年龄和收入,并增加了人工智能发展趋势,包括开发者对于AI的接受度和顾虑等。

下面一起来看看这份2023年度报告中有哪些值得我们关注和有趣的地方。

原文:https://www.jetbrains.com/zh-cn/lp/devecosystem-2023/?map=2&map=2

编程语言

编程语言是开发者的工具箱,不同的工具用来处理完成不同的工作,而什么样的编程语言更出色,也一直是广大开发者讨论的一个热门话题。
image.png

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 将从用户迁移中获益。
image.png

最少想要迁出的语言

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

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

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

受众特征

就业情况

image.png

职位占比

image.png

年龄段

image.png
年龄结合职位来看,取交集,年轻高潜在哪都是香饽饽啊…

30 岁以下开发者比例

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

教育水平

image.png

公司规模

image.png

工资

image.png
image.png

性别分布

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

AI

看法

很多人有顾虑,但是“顾虑归顾虑,不影响我使用啊”。
image.png

使用AI编码频率

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

AI对代码生成的影响

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

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

使用的AI工具比例

image.png
看来大家还是使用ChatGPT和Copilot比较多,更倾向于文本类生成和代码生成。

AI处理工作比例

前提:假设 AI 助手的表现与人类相似。
image.png
emmm,主要还是用来完成一些不太重要的活,代码还是要自己来写,从心理学上讲,这可能是在自我保护啊😆

虽然现阶段AI编写的代码确实还达不到百分百信任,但是未来肯定是可以达到的,然后AI再相互review,好像就没我什么事了啊…(完犊子)

测试

测试类型

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

测试技术

image.png

测试和开发比例

image.png

生活方式

为什么选择成为一名软件开发者?

image.png
这一项在国内偏差很多…

找工作

image.png
还是内推靠谱啊…

工作中哪些比较重要

image.png
我悟了…如何让公司也悟下这条…

学习的编程语言比例

image.png
Python yyds,但是TypeScript的势头也很猛。

学习动机

image.png
不适用国内。

学习途径

image.png
你悟了吗?

日常

开始一天的工作时,最先打开的

先摸一会是吧,看来大家都是一样的😆
image.png

当 IDE 死机时,我心里会想

先摸一会。
image.png

周末卷吗

image.png

开发设备

image.png

显示器数量

image.png

设备内存

image.png
怎么还有人不知道的…

操作系统

image.png

玩游戏吗

image.png

开发

开发类型

image.png

是否开发跨平台

image.png

跨哪些平台

桌面应用程序:
image.png
移动应用程序:
image.png

移动开发比例

image.png
大多数从事移动开发的开发者在开发 Android 应用,超过半数参与 iOS 开发。

跨平台框架

image.png

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

image.png
想起来某脉上说,为什么大厂也有屎山,高赞回答:

  1. 因为只允许有写一遍就成的时间
  2. 因为能用就行,需求都排不过来

最后

JetBrains2023年度报告就介绍到这里,我希望大家不只是看乐子,还能从这份报告中有一些自己的认知和思考。

比如:

  • Kotlin和Swift正在移动开发领域大杀特杀;
  • 学习TypeScript和Rust的人越来越多;
  • 大部分人都是在中小公司工作;
  • 一天的工作从先摸鱼开始;
  • 接受并学习跨平台;
  • 积极去拥抱AI;
  • 如何学习;
  • 等等;

这份报告有非常多的结论,这些结论的背后原因是值得我们去思考的,甚至代表着机会。

加油吧各位——yechaoa

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1307153.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HNU-算法设计与分析-讨论课2

第二次小班讨论 (以组为单位,每组一题,每组人人参与、合理分工,ppt中标记分工,尽量都有代码演示) 算法分析题 3-4、4-1(要求:有 ppt和代码演示讲解 算法实现题 3-23、4-1(要求:有ppt 和代码演示讲解 数学之…

使用HTTP协议在Linux上进行API调用

在Linux系统上使用HTTP协议进行API调用是一种常见的操作,有时候我们需要调用一些外部API来获取数据或者进行自动化操作。下面是一个使用HTTP协议在Linux上进行API调用的代码示例,希望能够帮助你更好地理解这个过程。 首先,我们需要使用curl命…

【Docker】swarm stack部署多service应用

前面我们已经学习过了Docker Compose,它可以用来进行一个完整的应用程序相互依赖的多个容器的编排的,但是缺点是只能在单机模式使用,不能在分布式多机器上使用;前面我们也学习了Docker swarm,它可以将单个服务部署为多…

SOLIDWORKS CSWE认证考试报名

​ SOLIDWORKS CSWE是高级别的SOLIDWORKS认证,是一项充满挑战性的艰巨任务。CSWE测试不是简单注册就可以的,是要有一定资格才能参加考试,您首先需要获得CSWP证书,然后还得通过5个CSWPA系列主题考试中的至少4个主题(钣金…

基于UDP的套接字通信

基于UDP的套接字通信 1、通信流程1.1 服务端1.2 客户端 2、通信函数3、通信代码3.1 服务端代码3.2 客户端代码 原文链接 udp是一个面向无连接的,不安全的,报式传输层协议,udp的通信过程默认也是阻塞的。 UDP通信不需要建立连接 ,…

【ZYNQ】AXI4总线接口协议学习

建议翻看着底部的参考文档资料和本文一起辅助阅读 本文带你详细的了解AXI总线协议,并且基于官方手册,能够提高你的手册阅读能力。 什么是AXI AXI 的英文全称是 Advanced eXtensible Interface,即高级可扩展接口,它是 ARM 公司所提…

数据探索和模型建构

数据探索:观察数据之间的关系 分别判断 性别(sex)、船舱等级(Pclass)、年龄(Age)、有无父母子女(Parch)、有无兄弟姐妹(SibSp)、票价(Fare) 和 港口(Embarked)等因素和 存活(Survived)之间的关系 In [27]: sex_survived_cor train_data[[Sex,Survived]] sex_sur…

安科瑞出席宁波市建筑电气2023年年会-安科瑞 蒋静

12月1日,宁波市建筑电气2023年年会在宁波市海曙天港禧悦酒店成功举办。作为推动宁波市建筑电气行业技术发展的专业交流会,吸引了建筑电气行业领导、专家、设计师、厂家等300多名代表参会。期间,安科瑞电气股份有限公司携智能楼宇、智慧校园、…

HTML中表格的语法及使用(详解)

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍HTML中表格的语法及详细使用以及部分理论知识 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主收将持续更新学习记录获,友友们有任何问题可以在评论区留…

骨传导耳机十大品牌排行榜,骨传导耳机品牌排名哪个好

骨传导蓝牙耳机的使用越来越广泛,无论是在户外运动还是在办公室工作,它都能为你带来自由的音乐体验。在本文中,我们将为你介绍十款TOP级骨传导蓝牙耳机,这些品牌在市场上拥有良好的口碑和广泛的使用者。通过本下面的选购指南&…

Buck电路 (PWM实现与闭环反馈) 电力系统仿真

Buck电路 (PWM实现与闭环反馈) Buck电路是降压型的DC-DC变换器。 三角波: 闭环控制怎么实现呢? 比例积分微分控制(proportional-integral-derivative control),简称PID控制,是最早…

祝贺!2023美丽汉字小达人市级比赛和区级自由报名获奖名单发布

昨天,汉字小达人的主办方《中文自修》杂志社在官网发布了两个公示:《“中文自修杯”第十届上海市小学生“美丽汉字小达人”市级活动获奖名单公示》、《“中文自修杯”第十届上海市小学生“美丽汉字小达人”区级活动“自由报名”获奖名单公示》。 这两份名…

mybatis查询结果resultMap映射vo源码分析

概述 mybatis是一个常用的持久层框架;通常搭配mysql使用; 在将查询结果映射成一个复杂vo的时候,通常会用到resultMap,在其中嵌套association和collection等操作;将一个复杂查询拆分成简单查询; 在vo中的变…

「玩转 TableAgent 数据智能分析」实战数据分析演练

文章目录 前言TableAgent 功能亮点人人都是数据分析师融合创新应用的新成果 TableAgent 使用介绍登陆功能介绍申请认证 实战数据集分析一导入 CSV 文件数据发起提问TableAgent 应答结果贴切的服务推荐问题提问 实战数据集分析二分析结果分析哪个城市的未来人口最多 总结 TableA…

proteus元件合集(一)

LCD LM018L​​ 绿色的LCD寻找方法: 直流电压源 直流电压源寻找方法: 滑动变阻器 滑动变阻器寻找方法: 注意:它出来之后会自动出现那两个红色的。那是电源。

C#基础面试题集

C#基础 1. 简述值类型和引用类型有什么区别2. C# String类型比 stringBuilder 类型的优势是什么?3.面向对象的三大特点4.请简述private,public,protected,internal的区别5.结构体和类6.请描述Interface与抽象类之间的不同7.在类的构造函数前…

虚幻学习笔记9—C++代码变量与蓝图的通信

一、前言 C代码中通过关键字“UPROPERTY”来讲所需要的变量、方法或枚举反射暴露给蓝图,实现C和蓝图之间的通信。所有实现的变量都在一个名为“MyPawn1”类中,同时提到的蓝图是根据这个类创建的。同时这个Pawn类为场景中的默认Pawa类。 图1.1.1 文中提到…

L1-039:古风排版

题目描述 中国的古人写文字&#xff0c;是从右向左竖向排版的。本题就请你编写程序&#xff0c;把一段文字按古风排版。 输入格式&#xff1a; 输入在第一行给出一个正整数N&#xff08;<100&#xff09;&#xff0c;是每一列的字符数。第二行给出一个长度不超过1000的非空字…

量化交易与人工智能:技术的交叉引发金融市场的变革

量化交易&#xff08;Quantitative Trading&#xff09;是利用数学模型和统计分析来进行投资决策的一种交易策略。而人工智能技术的快速发展为量化交易带来了全新的机遇和挑战。本文将探讨人工智能在量化交易领域的应用及其对金融市场的变革。 在传统的投资交易中&#xff0c;决…

Java连接数据库的各种细节错误(细节篇)

目录 前后端联调&#xff08;传输文件&#xff09; ClassNotFoundException: SQLException: SQL语法错误: 数据库连接问题: 驱动问题: 资源泄露: 并发问题: 超时问题: 其他库冲突: 配置问题: 网络问题: SSL/TLS问题: 数据库权限问题: 驱动不兼容: 其他未知错误…