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

2023-12-13 07:36

本文主要是介绍JetBrains2023年度报告,编程领域的风向标,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

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

这篇关于JetBrains2023年度报告,编程领域的风向标的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/487619

相关文章

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间,擦写次数7.I/O高低电平电压表格8.外设接口

16.Spring前世今生与Spring编程思想

1.1.课程目标 1、通过对本章内容的学习,可以掌握Spring的基本架构及各子模块之间的依赖关系。 2、 了解Spring的发展历史,启发思维。 3、 对 Spring形成一个整体的认识,为之后的深入学习做铺垫。 4、 通过对本章内容的学习,可以了解Spring版本升级的规律,从而应用到自己的系统升级版本命名。 5、Spring编程思想总结。 1.2.内容定位 Spring使用经验

风水研究会官网源码系统-可展示自己的领域内容-商品售卖等

一款用于展示风水行业,周易测算行业,玄学行业的系统,并支持售卖自己的商品。 整洁大气,非常漂亮,前端内容均可通过后台修改。 大致功能: 支持前端内容通过后端自定义支持开启关闭会员功能,会员等级设置支持对接官方支付支持添加商品类支持添加虚拟下载类支持自定义其他类型字段支持生成虚拟激活卡支持采集其他站点文章支持对接收益广告支持文章评论支持积分功能支持推广功能更多功能,搭建完成自行体验吧! 原文

IPython小白教程:提升你的Python交互式编程技巧,通俗易懂!

IPython是一个增强的Python交互式shell,它提供了丰富的功能和便捷的交互方式,使得Python开发和数据分析工作更加高效。本文将详细介绍IPython的基本概念、使用方法、主要作用以及注意事项。 一、IPython简介 1. IPython的起源 IPython由Fernando Pérez于2001年创建,旨在提供一个更高效的Python交互式编程环境。 2. IPyt

从《深入设计模式》一书中学到的编程智慧

软件设计原则   优秀设计的特征   在开始学习实际的模式前,让我们来看看软件架构的设计过程,了解一下需要达成目标与需要尽量避免的陷阱。 代码复用 无论是开发何种软件产品,成本和时间都最重要的两个维度。较短的开发时间意味着可比竞争对手更早进入市场; 较低的开发成本意味着能够留出更多营销资金,因此能更广泛地覆盖潜在客户。 代码复用是减少开发成本时最常用的方式之一。其意图

Java并发编程—阻塞队列源码分析

在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。   在前面我们接触的队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedList是双向链表,它实现了D

剑指offer—编程题7(用两个栈实现一个队列)

题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail 和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。 代码如下: [java]  view plain copy print ? public class Test07 {       /**       * 用两个栈模拟的队列       *

剑指Offer—编程题4 ( 替换空格)

一、题目:替换空格 题目:请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We are happy.”,则输出“We%20are%20happy.”。    在网络编程中,如果URL参数中含有特殊字符,如空格、'#'等,可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转换成服务器可以识别的字符。转换的规则是在'%'后面跟上ASCII码的两位十六进制的表示。

剑指Offer—编程题56(链表中环的入口地址)

题目:一个链表中包含环,如何找出环的入口结点? 解题思路   可以用两个指针来解决这个问题。先定义两个指针P1和P2指向链表的头结点。如果链表中环有n个结点,指针P1在链表上向前移动n步,然后两个指针以相同的速度向前移动。当第二个指针指向环的入口结点时,第一个指针已经围绕着环走了一圈又回到了入口结点。    剩下的问题就是如何得到环中结点的数目。我们在面试题15的第二个相关题目时用到