知名开发者社区Stack Overflow发布《2023 年开发者调查报告》

Stack Overflow成立于2008年,最知名的是它的公共问答平台,每月有超过 1 亿人访问该平台来提问、学习和分享技术知识。是世界上最受欢迎的开发者社区之一。每年都会发布一份关于开发者的调查报告,来了解不断变化的开发人员现状、正在兴起或衰落的技术,以及未来的发展方向。

2023年是报告发布的第13年,今年有哪些变化与亮点呢?

全球概况

自 2022 年调查以来,通过在线资源学习编码的比例从 70% 增加到 80%。

18 岁及以下的受访者是最常选择在线资源(例如视频、博客、论坛)进行学习的人群。25 - 34 岁的受访者是从在线课程或认证中学习的最多的年龄段 (52%),但仍然从传统学校学到更多 (55%)。

今年的受访者年龄分布略有上升,37% 的受访者年龄在 35 岁或以上,而去年这一比例为 31%。

排名前五的关键地区与往年相同,但回复数量最多的国家/地区略有变化:美国一直是回复数量第一的国家,但今年我们看到印度从第二高的回复率下降排名第三,落后于德国。两年多来,我们发现印度的回复下降了 50%,而德国的回复则增长了 30%。

技术趋势

在今年的十大编程语言中,我们看到三种流行语言的地位有所上升:Python、Bash/Shell和 C。

Python 在过去三年中越来越受欢迎,今年它上升了一位,排名第三。随着 Python 受欢迎程度的上升,我们一直看到 Python 库在我们受欢迎的“其他技术和框架”部分中排名很高——NumPy 和 Pandas 在过去三年中一直位居前十。

C 是一种有趣的语言,其受欢迎程度正在上升:尽管它自 1970 年代以来就已存在,但在此之前,它在开发人员调查中从未进入过编程语言的前十名。截至 2023 年 6 月, TIOBE指数将 C 列为第二流行编程语言,其参与度接近第一语言 Python。鉴于 C 是最流行的低级语言之一,它是物联网设备中嵌入式编程的首选语言,并且根据Codecademy的说法,它“为我们拥有的几乎所有技术经验提供支持” ,因此开发人员更多地使用 C 是有道理的今年比以往任何时候都多。

编程语言越流行,我们今年看到的开发人员报告的平均经验就越少(我们排名前三的语言大约有 10 年的经验,而那些报告使用率低于 1% 的语言则接近 14 年)。经验不足的开发人员报告称某些编程语言的使用率更高,这可能强化了这样的论点:进入工作队伍的门槛较低会增加他们在程序员中的受欢迎程度。

今年,Docker 是所有受访者中使用最多的其他工具 (53%),从去年的第二位上升。

学习编码的人更有可能使用 npm 或 Pip,而不是 Docker(分别为 50% 和 37% vs. 26%)。两者都与学生流行的语言(分别是 JavaScript 和 Python)一起使用。

与去年类似,Jira 和 Confluence 是所有开发人员中排名前两位的异步工具,但今年该列表中的新成员打破了前三名:27% 的受访者使用 Markdown 文件作为异步工具。

学习编码的人更多地使用 GitHub Discussions,而不是 Markdown 文件(31% vs. 29%),并且比专业开发人员更多地转向 Notion (26%) 和 Trello (23%)。

Rust 是最受推崇的语言,超过 80% 使用过它的开发人员希望明年再次使用它。将此与最不受推崇的语言进行比较:MATLAB。使用这种语言的开发人员中,只有不到 20% 希望明年再次使用它。

Phoenix是最受推崇的Web框架和技术;与使用过三种最常见的 React、Node.js 和 Next.js 的开发人员相比,更多的开发人员会选择再次使用 Phoenix。

希望明年继续使用 Cargo 的受访者数量多于顶级竞争对手(受访者明年希望使用的前 6 种工具),然而,与所有其他选项相比,Docker 明年希望使用它的受访者比例几乎是其两倍。

AI工具是今年新增的一个板块,受访者对人工智能搜索工具的首选是ChatGPT:83%的受访者在过去一年中使用过它。这超出了 Bing AI 的第二选择(20% 的人使用过它)。

随着 ChatGPT 竞争对手扩大用户群,围绕新兴人工智能搜索技术的炒作还有增长空间;对于那些想在明年尝试的人来说,只有四种工具有 10% 或更高的选择率。

除了AI搜索工具之外,我们还询问了AI开发工具。GitHub Copilot 是最常用的人工智能开发工具,去年有 55% 的受访者使用它,是第二名 Tabnine(13%)的四倍。

Zig 是今年收入最高的语言(新增),而 Clojure 则从榜首位置被挤下来,与 2022 年相比下降了 10%。
Dart 和 SAS 的 2023 年薪酬中位数增幅最高,同比增长超过 20%。总体而言,2023年薪资增长基准比去年增长10%。

工作方式

与去年相比,“独立开发者、自由职业者或自营职业者”的人数略有增加,而全日制学生的人数则有同等规模的下降(1 个百分点),而其他就业状况的变化则小于去年。

2023 年,随着通货膨胀,自我投资的成本有所上升,但仍让有许多人选择成为开发人员。

办公方式方面,混合办公模式适用于大型企业;5,000 多个企业中超过一半的员工是混合型员工。较小的组织最有可能进行面对面的会议,在少于 20 人的企业中,五分之一的员工表示会进行面对面的会议。
今年亲自工作的开发人员比去年多 (+2%)。除了重返办公室措施之外,编码很容易进行完全远程工作,并且所有规模的企业中有三分之一或更多仍然完全远程工作。

以上是我们认为2023调查中的一些变化与亮点,想了解更多报告内容,请点击这里:https://survey.stackoverflow.co

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

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

相关文章

PiflowX-MysqlCdc组件

MysqlCdc组件 组件说明 MySQL CDC连接器允许从MySQL数据库读取快照数据和增量数据。 计算引擎 flink 组件分组 cdc 端口 Inport:默认端口 outport:默认端口 组件属性 名称展示名称默认值允许值是否必填描述例子hostnameHostname“”无是MySQL…

JS 监听网络状态

我们在开发过程中会遇到监听用户网络状态的需求,通过JS可以获取当前的网络状态,包括下载速度、网络延迟、网络在线状态、网络类型等信息 具体获取如下: let info navigator.connection console.log(info)可以看到,包含几个信息…

element plus el-form双列布局及拓展任意布局

1 场景 一般表单我们直接默认布局&#xff0c;也就是单列布局&#xff0c;突然有个人员信息表单&#xff0c;需要双列布局的需求&#xff0c;简单实现并拓展下 2 思路 直接无脑divflex布局实现 3 代码 <template><el-form ref"formRef" :model"fo…

Blazor 错误笔记

1. 运行时问题 Microsoft.NETCore.App.Runtime.Mono.browser-wasm Microsoft.NETCore.App.Runtime.Mono.browser-wasm 是一个 .NET Core 运行时的包&#xff0c;用于在浏览器中运行 .NET Core 应用程序。它是针对 WebAssembly 架构的 .NET Core 运行时&#xff0c;可以在浏览…

Java中CompletableFuture 异步编排的基本使用

一、前言 在复杂业务场景中&#xff0c;有些数据需要远程调用&#xff0c;导致查询时间缓慢&#xff0c;影响以下代码逻辑运行&#xff0c;并且这些浪费时间的逻辑与以后的请求并没有关系&#xff0c;这样会大大增加服务的时间。 假如商品详情页的每个查询&#xff0c;需要如下…

书生·浦语第三次作业

我最近在参加书生浦语大模型实战营&#xff0c;这是第三次作业打卡&#xff01; 如果你也想两周玩转大模型微调&#xff0c;部署与测评全链路。报名链接&#xff1a;invite 书生浦语大模型实战营报名 邀请码可以填026014 一、基础作业&#xff1a;复现课程知识库助手搭建过程…

WEB之HTML练习

第一题&#xff1a;用户注册界面 HTML代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><titl…

【Python】使用tkinter设计开发Windows桌面程序记事本(2)

上一篇&#xff1a;【Python】使用tkinter设计开发Windows桌面程序记事本&#xff08;1&#xff09;-CSDN博客 下一篇&#xff1a; 作者发炎 此代码模块是继承上一篇文章的代码模块的基础上开始设计开发的。 如果不知道怎么新建"记事本项目"文件夹&#xff0c;请参…

C++ 多态以及多态的原理

文章目录 多态的概念多态的构成条件虚函数的重写虚函数重写的两个例外 重载、重写(覆盖)、重定义(隐藏)对比C11 final 和 override关键字抽象类接口继承和普通继承多态的原理虚函数表多态的原理 单继承和多继承关系的虚函数表单继承中的虚函数表多继承中的虚函数表 多态的概念 …

Linux安装nginx并设置为开机自启动

1.更新gcc安装包 yum install -y gcc pcre-devel zlib-devel2.下载文件并解压 命令如下 wget https://nginx.org/download/nginx-1.18.0.tar.gz //解压nginx tar -zxvf nginx-1.18.0.tar.gz //进入后进行指定安装位置 ./configure --prefix/usr/local/nginx //安装 make &…

面试宝典之spring框架常见面试题

F1、类的反射机制有啥用&#xff1f; &#xff08;1&#xff09;增加程序的灵活性&#xff0c;可扩展性&#xff0c;动态创建对象。 &#xff08;2&#xff09;框架必备&#xff0c;任何框架的封装都要用反射。&#xff08;框架的灵魂&#xff09; F2、获取Class对象的三种方…

小程序分销商城,打造高效线上购物体验

小程序商城系统&#xff0c;为您带来前所未有的在线购物体验。它不仅提供线上商城购物、在线下单、支付及配送等功能&#xff0c;还凭借其便捷性成为众多商家的首选。 想象一下&#xff0c;商家可以展示琳琅满目的商品&#xff0c;包括图片、文字描述、价格及库存等详尽信息。而…

内网渗透实战攻略

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 介绍 什么是内网&#xff1f; 什么是内网渗透&#xff1f; 内网渗透的目的&#xff1a; 内网…

2024--Django平台开发-Django知识点(六)

day06 Django知识点 今日概要&#xff1a; Form和ModelForm组件【使用】【源码】缓存【使用】ORM【使用】其他&#xff1a;ContentTypes、Admin、权限、分页、信号等 1.Form和ModelForm组件 背景&#xff1a;某个公司后台管理项目。 垃圾 def register(request):"&quo…

k8s之pod基础

k8s之pod基础 pod&#xff1a; pod是k8s中最小的资源管理组件 pod也是最小化运行容器化的应用的资源管理对象 pod是一个抽象的概念&#xff0c;可以理解为一个或者多个容器化应用的集合 在一个pod当中运行一个容器是最常用的方式 在pod当中同时运行多个容器&#xff0c;…

Qt QRadioButton单选按钮控件

文章目录 1 属性和方法1.1 文本1.2 选中状态1.3 自动排他1.4 信号和槽 2 实例2.1 布局2.2 代码实现 Qt中的单选按钮类是QRadioButton它是一个可以切换选中&#xff08;checked&#xff09;或未选中&#xff08;unchecked&#xff09;状态的单选按钮单选按钮常用在“多选一”的场…

分布式全局id

分布式全局id snowflake 算法是 twitter 开源的分布式 id 生成算法&#xff0c;采用 Scala 语言实现&#xff0c;是把一个 64 位的 long 型的 id&#xff0c;1 个 bit 是不用的&#xff0c;用其中的 41 bits 作为毫秒数&#xff0c;用 10 bits 作为工作机器 id&#xff0c;12 …

基于sprinmgboot实习管理系统源码和论文

随着信息化时代的到来&#xff0c;管理系统都趋向于智能化、系统化&#xff0c;实习管理也不例外&#xff0c;但目前国内仍都使用人工管理&#xff0c;市场规模越来越大&#xff0c;同时信息量也越来越庞大&#xff0c;人工管理显然已无法应对时代的变化&#xff0c;而实习管理…

人工智能复习

机器学习中线性回归和逻辑回归&#xff1a; 机器学习的分类&#xff1a; 监督学习和无监督学习&#xff0c;半监督学习 监督学习&#xff08;Supervised Learning&#xff09;&#xff1a; 监督学习是一种利用带有标签&#xff08;标记&#xff09;的数据进行训练的机器学习…

使用Windbg动态调试目标进程的一般步骤详解

目录 1、概述 2、将Windbg附加到已经启动起来的目标进程上&#xff0c;或者用Windbg启动目标程序 2.1、将Windbg附加到已经启动起来的目标进程上 2.2、用Windbg启动目标程序 2.3、Windbg关联到目标进程上会中断下来&#xff0c;输入g命令将该中断跳过去 3、分析实例说明 …