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

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

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

相关文章

Linux C++快速入门

本文旨在以最小的篇幅,最少的信息,介绍最高频使用的内容,从而掌握C编程开发的能力。 这种能力,只是语法层面,不涉及具体的函数库,基础库等内容。 能力准备:需要C语言基础。基本的if else, whi…

JVM之jmap java内存映射工具

jmap java内存映射工具 1、jmap jdk安装后会自带一些小工具,jmap命令(Memory Map for Java)是其中之一。主要用于打印指定Java进程(或核 心文件、远程调试服务器)的共享对象内存映射或堆内存细节。 jmap命令可以获得运行中的jvm的堆的快照,从而可以离…

[React]基于Antd的FormModal的组件封装以及useFormModal的hooks封装

[React]基于Antd的FormModal的组件封装以及useFormModal的hooks封装 场景 很常见,打开弹窗输入表单等… 封装后,弹窗自行挂载到body上,只需关注表达逻辑和打开关闭逻辑,其它的已经帮你管理好了 源码 import React, { useRef,…

使用 Timm 库替换 YOLOv8 主干网络 | 1000+ 主干融合YOLOv8

文章目录 前言版本差异说明替换方法parse_moedl( ) 方法_predict_once( ) 方法修改 yaml ,加载主干论文引用timm 是一个包含最先进计算机视觉模型、层、工具、优化器、调度器、数据加载器、数据增强和训练/评估脚本的库。 该库内置了 700 多个预训练模型,并且设计灵活易用。…

开发中需要防止用户哪些骚操作(测试鸭通关总结)

首先的话作为一个标准安全的后台认证和鉴权是一定要做好的,除此之外一下业务场景和常见问题也要进行考虑和预防。 一.收藏和点赞 网页前端和后端都要对点赞和收藏状态进行控制。简单说就是已经点赞和收藏的用户不能再进行点赞和收藏。 二.频繁请求某个接口 解决…

经典策略筛选-20231213

策略1: 龙头战法只做最强:国企改革 ----四川金顶 1、十日交易内出现 涨停或 (涨幅大于7个点且量比大于3) 2、JDK MACD RSI OBV LWR MTM 六指标共振 3、均线多头 4、 筹码峰 (锁仓) 5、现价> 五日均…

十二.镜头知识之镜头分辨率(解析力)

十二.镜头知识之镜头分辨率(解析力) 文章目录 十二.镜头知识之镜头分辨率(解析力)12.1 **分辨率与解像力的定义**12.1.0 分辨率定义12.1.1 解像力的定义12.1.2 解像力是分辨率的倒数12.1.3 Wavelength 对 物方分辨率的影响12.2 镜头分辨率跟相机分辨率如何才能匹配12.2.1 镜…

OkHttp: 拦截器和事件监听器

文章目录 1. 拦截器1. 拦截器链2. 实际案例1. 注册为应用拦截器2. 注册为网络拦截器 3. 如何选择用哪种拦截器1. 应用拦截器2. 网络层拦截器3. 重写请求4. 重写响应 4. 可用性 2. 事件监听器1. 请求的生命周期2. EventListener使用案例3. EventListener.Factory4. 调用失败的请…

【LeetCode】28. 找出字符串中第一个匹配项的下标 【字符串单模匹配:KMP算法】

题目链接 Python3 直觉解法 class Solution:def strStr(self, haystack: str, needle: str) -> int:pn, ph 0, 0n len(needle) h len(haystack)while ph < h:if haystack[ph] needle[pn]:if pn n-1: # 1234 123return ph - len(needle) 1else: pn 1ph 1else:…

RocketMQ的监控和管理工具有哪些❓

RocketMQ 提供了一些监控和管理工具&#xff0c;以便于用户对消息中间件的运行状态进行监控、管理和调优。以下是一些常用的 RocketMQ 监控和管理工具&#xff1a; 1. RocketMQ Console RocketMQ Console 是 RocketMQ 官方提供的监控和管理工具&#xff0c;提供了直观的图形界…

【LeetCode刷题】-- 163.缺失的区间

163.缺失的区间 class Solution {public List<List<Integer>> findMissingRanges(int[] nums, int lower, int upper) {List<List<Integer>> res new ArrayList<>();for(int num : nums){if(lower < num){res.add(Arrays.asList(lower,num -…

c语言函数与指针

//本文有待补充。 一、函数 1.函数的定义 如果程序的逻辑比较复杂、代码量比较大&#xff0c;或者重复性功能比较多&#xff0c;那么全部写在主函数里就会显得十分冗长和杂乱。为了使代码更加简洁、思路更加清晰&#xff0c;C语言提供了”函数“。函数是一个实现一定功能的语…

dockerfile创建镜像 lNMP+wordpress

dockerfile创建镜像 lNMPwordpress nginx dockernginx mysql dockermysql php dockerphp nginx vim nginx.conf vim Dockerfile docker network create --subnet172.17.0.0/16 --opt "com.docker.network.bridge.name""docker1" mynetwork docker buil…

Web是什么?它具体的功能是什么?它值不值得我们去学习?我们该如何去学习?

Web是指“World Wide Web”的缩写&#xff0c;是互联网上的一种信息系统&#xff0c;通过超文本链接方式将全球各地的文档链接在一起&#xff0c;形成一个巨大的信息资源库。Web的基本构成包括网页、超文本传输协议&#xff08;HTTP&#xff09;、网页浏览器等。 网页是Web的基…

失败的2x2 Mipi Raw10转RGB565

反转了&#xff0c;有思路改了&#xff0c;待我思考一番。 --------------------------------------------------------------------------------------------------------------------------------- 希望完成的目标&#xff1a; MIPI在解析以后是四个像素四个像素地产出数据…

最新Applestore建立其他地区账号简单快捷一看就会

1、首先打开创建appleid网站 2、点击创建你的Apple ID开始创建&#xff08;这里以美国为例&#xff09; 电话号码可以填大陆手机号即可 这两个选项建议不要勾选 3、更改付款方式 3.1点击付款与配送 3.2添加付款方式&#xff0c;这里是最重要的一步&#xff0c;传统方法已经无法…

真正的力量不是摧毁,而是在困境中保持微笑,坚持向前。

真正的力量不是摧毁&#xff0c;而是在困境中保持微笑&#xff0c;坚持向前。

Mac电脑投屏AirServer 2024怎么下载安装激活许可期限

对于那些想要将 iPhone、iPad 或其他 iOS 设备上的小屏幕镜像到计算机上的大屏幕的人来说&#xff0c;AirPlay 是一个很好的工具。 基于此&#xff0c;AirServer 非常需要将您的 Mac 或 PC 变成 AirPlay 设备。 但是如何使用计算机上的设置对 iPhone 等 iOS 设备进行屏幕镜像&a…

docker save多个镜像打包成一个tar.gz压缩文件

docker save多个镜像打包成一个tar.gz压缩文件 有时候我们需要将docker中的多个镜像批量的传输到另一台机器&#xff0c;如果通过docker save这种命令则需要制作多个tar文件&#xff0c;这样以来冗余的操作较多而且tar文件占据的空间较大&#xff0c;不利于传输。 可以通过以…

Netperf使用总结

什么是Netperf Netperf是由惠普公司开发的一种网络性能测量工具&#xff0c;主要针对基于TCP或UDP的传输。Netperf根据应用的不同&#xff0c;可以进行不同模式的网络性能测试&#xff0c;即批量数据传输&#xff08;bulk data transfer&#xff09;模式和请求/应答&#xff0…