C++11接受度最广!2024年C++开发者年度调查报告最新出炉

C语言与CPP编程 2024-04-24 08:30

首先分享一些工作岗位

最近几年行情比较差,经常有人问是否有内推岗位可以分享?不管是校招还是社招都能遇到很多好友私信询问,奈何本司HC确实不多。。。


昨天在朋友圈看到有前程无忧的内推服务,不收取任何费用,小助手会在好友圈发布各种内推岗位,校招社招都有,这里分享一下,有需要的可以自行扫码添加前程无忧的官方小助手即可,市场下行的时候还是要报团取暖才行啊。

长按上方图片,即可免费获取最新招聘岗位

以下是原文

本月初,C++ 官方宣布开启一年一度的全球 C++ 开发者调查。历经一周时间,全球共有 1200+ 位开发者参与了本次调查。对本次问卷数据进行统计分析后,日前 C++ 正式公布了此次调查的结果报告《2024 年 C++ 开发者年度调查“精简版”》,并已将调查结果提交给 C++ 标准委员会,以帮助指导 C++ 的发展。

在公布本次调查报告时, C++ 官方补充说明了一点:“调查上线后,我们发现 SurveyMonkey(一款线上调查问卷工具)拒绝了来自某些国家/地区的反馈。他们并没有通知我们会发生这种情况,所以我们今年没有收到来自往年都包含在内的某些国家/地区的问卷。我们承诺在明年解决这个问题,因为我们确实希望听到全球所有 C++ 程序员的声音。”


1、你在哪些地方使用 C++?(请选择所有适用选项)

在这个问题中,大多数开发者(91.05%)表示会在工作中使用 C++,侧面反映了 C++ 在商业和职业环境中的广泛应用。另外,C++ 的灵活性和性能可涉及各种领域,包括游戏开发、机器人、算法实现等,因此有相当数量的开发者(67.59%)会在其个人时间中使用 C++,用于业余爱好项目或尝试新事物。


2、 你具体有多少年的 C++ 编程经验?

调查结果显示,有 33.68% 的受访者拥有 10-20 年的 C++ 编程经验,其次是大于 20 年的开发者(26.55%)。这表明在此次调查中,超过六成的开发者具有超过 10 年的 C++ 编程经验,他们可能长期从事与 C++ 相关的工作或项目,有着丰富的经验和技能。

相较之下,具有 1-2 年 C++ 编程经验的占比仅有 5.15%,这部分人群可能是新手程序员或对 C++ 还较为陌生的人群,近来才开始学习和使用这门语言。


3、你总共有多少年的编程经验(所有语言)?

如果不局限于 C++,则近四成开发者(39.04%)拥有超过 20 年的编程经验。这部分开发者可能早期就开始涉足编程并持续积累经验,其中或许也包括了长期的 C++ 编程。


4、你从事哪些类型的项目?(请选择所有适用选项)

作为一种功能强大的编程语言,C++ 被广泛应用于各种领域,包括但不限于系统软件开发、嵌入式系统、游戏开发等。

数据显示,在受访者中有 31.51% 的人从事工程领域,涵盖了例如航空电子设备、电源管理等,往往需要高性能和可靠性。紧随其后的是硬件/物联网项目,占比为 29.92%。这可能涉及到嵌入式系统的开发、传感器技术、物联网设备等,在这类需要高效处理硬件交互的场景,C++ 的优越性能和具有底层控制能力的特点非常适用。另外,开发工具和游戏开发也占据了较大比例,分别为 27.38% 和 20.87%。在这些项目中,C++ 是部分开发者的首选语言。


5、你为哪些平台进行开发?(请选择所有适用选项)

在受访者中,有最高比例的人(60.56%)为 Windows 桌面平台进行开发,这表明 C++ 在 Windows 桌面开发中占有主导地位。其次是 Linux 桌面平台和 Linux 服务器平台,分别为56.75% 和 57.30%,即 C++ 在 Linux 系统上的广泛应用,不仅涵盖了桌面应用,也包括了服务器端的开发,例如系统软件、网络服务等。另外,嵌入式系统也是 C++ 的一大开发领域,占比为 32.22%。


6、在 C++ 开发过程中,你觉得哪些问题最大?

对于 45.43% 的受访者来说,管理应用程序所依赖的库是他们在 C++ 开发中最为头疼的主要问题,其次是构建时间(42.86%),还有 30% 的开发者认为从零开始建立持续集成管道(自动构建、测试......)以及管理 CMake 项目也是不容忽视的问题。

与上面的问题相比,近半数开发者(49.24%)指出,调试代码中的 Bug 虽然也是难题,但算不上是主要痛点。


7、你如何管理你的 C++ 第一和第三方库?(请选择所有适用选项)

开发者在管理 C++ 第一和第三方库时采取了多种方法,最常见的方法是将库源代码包含在项目中,将其与项目一起编译,占比为 68.54%。这种方法的优点很明显:可确保项目的可移植性和稳定性,同时也允许对库进行定制和修改,以满足项目特定的需求。

其次是用库的说明单独编译库,这部分占比 48.48%,可将库的编译过程与项目分离,也能够提高代码的复用性和可维护性。还有 37.80% 的受访者用系统软件包管理器,如 apt、brew 等,简化了依赖关系的管理,更方便进行库的更新和升级。


8、你使用哪些构建工具?(请选择所有适用选项)

调查结果显示,广泛用于管理和构建 C++ 项目的 CMake 是最受欢迎的构建工具,其跨平台特性和丰富的功能使其成为了主流选择——在 1200+ 名受访者中超过 1000 人都选择了 CMake,占比高达 83.24%。其次是 Ninja,占比为 45.41%,通常与 CMake 结合使用,用于加速项目的构建过程,在一些大型项目或需要频繁构建的场景中备受青睐。Make/nmake 也是另一个常见的构建工具,开发者使用占比为 36.31%。


9、在你当前的项目(工作或学习)中,允许使用哪个版本的 C++?

在所有 C++ 版本中,目前 C++ 11 的使用范围最广,有 90.81% 的开发者表示 C++ 11 的功能几乎可全部使用。而最新的 C++ 23 则有 61.17% 的人指出其所在环境不支持使用。


10、在未来 12 个月内,你当前的项目是否计划开始允许使用更多较新的 C++ 标准功能?

针对这个问题,有 53.92% 的开发者计划在未来 12 个月内使用更多较新的 C++ 标准功能,侧面反映了对于采用最新 C++ 标准的需求和趋势,充分利用这些新的功能,以保持其在竞争激烈的市场中的竞争力。

另一方面,也有 21.12% 的受访者表示没有这个计划。这可能是出于项目的稳定性和安全性等方面的考虑,也可能是因为项目中的代码基础较大,引入新的 C++ 标准功能可能会带来一些不必要的风险和复杂性。


11、特别是针对 C++20/23 的主要功能: 在未来 12 个月内,你当前的项目是否计划允许在生产代码中使用这些功能?

对于 C++20/23 的主要功能,开发者在未来 12 个月内计划允许在生产代码中使用的情况有所不同,主要集中在 Concepts、Coroutines 和 Modules 这三个方面。

Concepts 是 C++20 引入的一项重要特性,用于约束模板的类型参数,从而提高代码的清晰度和可读性。这也是本次受访者中最受关注的主要功能,占比为 60.45%。其次是 Coroutines(co_await 等),可用于编写异步代码,提高代码的并发性和响应性,有 34.13% 的开发者计划未来 12 个月内在生产代码中使用该功能。29.25% 受访者选择的 Modules 也是 C++20 中引入的另一个重要特性,用于改进代码的组织和构建效率。


12、除 C++ 外,你在当前和最近的项目中还使用哪些编程语言/环境?(请选择所有适用选项)

除 C++ 外,Python 因其简洁的语法、丰富的标准库和广泛的应用领域而备受欢迎,是受访者中使用最多的其他编程语言,占比为 72.82%。使用第二多的是 C,常用于编写操作系统、嵌入式系统、游戏引擎等方面,第三则是 JavaScript ( 27.43%)。紧接着是 C# 和 Rust,分别占比 23.76% 和 18.37%,前者用于 Windows 平台的应用程序开发,后者因其安全性近年来也备受大厂青睐。


13、你使用哪些开发环境(IDE)或编辑器进行 C++ 开发?

在进行 C++ 开发时,受访者使用的开发环境(IDE)或编辑器主要包括 Visual Studio、Visual Studio Code、CLion、Vim、Emacs 等。

其中 Visual Studio 是受访者中使用最多的开发环境(62.03%),在 Windows 平台上广泛用于 C++ 开发。其次是 Visual Studio Code(简称 VS Code),占比为 50.27%,支持多种编程语言,通过插件可扩展其功能,使其成为了许多开发者的首选工具之一。

由 JetBrains 公司推出专门针对 C++ 开发的集成开发环境 CLion 也受到了 45.32% 开发者的喜爱,另外 Vim 和 Emacs 也分别占比为 36.96% 和 38.79%。

查看完整报告,可详见:https://isocpp.org/files/papers/CppDevSurvey-2024-summary.pdf

整理 | 郑丽媛
出品 | 程序人生(ID:coder_life)
EOF

你好,我是飞宇,本硕均于某中流985 CS就读,先后于百度搜索字节跳动电商以及携程等部门担任Linux C/C++后端研发工程师。

最近招聘季快到了,身边很多小伙伴都在摩拳擦掌、跃跃欲试,很多都打算看看新机会,这里推荐一个好朋友阿秀开发的互联网大厂面试真题解析网站,支持按照行业、公司、岗位、科目、考察时间等查看面试真题,有意者欢迎体验。

如果你明天就要面试了,那我建议你今晚来刷一刷这个网站,说不定就能遇到你明天的面试原题,目前已经有不少人在面试中遇到原题了,具体可以看下链接:字节跳动后端研发岗面试考察题目Top10面试中局部性原理还真有用!

网址:https://top.interviewguide.cn/

同时,我也是知乎博主@韩飞宇,日常分享C/C++、计算机学习经验、工作体会,欢迎点击此处查看我以前的学习笔记&经验&分享的资源。

我组建了一些社群一起交流,群里有大牛也有小白,如果你有意可以一起进群交流。

欢迎你添加我的微信,我拉你进技术交流群。此外,我也会经常在微信上分享一些计算机学习经验以及工作体验,还有一些内推机会

加个微信,打开另一扇窗

C语言与CPP编程 C语言/C++开发,C语言/C++基础知识,C语言/C++学习路线,C语言/C++进阶,数据结构;算法;python;计算机基础等
评论
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 128浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 100浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 96浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 126浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 238浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 211浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 172浏览
  • 「他明明跟我同梯进来,为什么就是升得比我快?」许多人都有这样的疑问:明明就战绩也不比隔壁同事差,升迁之路却比别人苦。其实,之间的差异就在于「领导力」。並非必须当管理者才需要「领导力」,而是散发领导力特质的人,才更容易被晓明。许多领导力和特质,都可以通过努力和学习获得,因此就算不是天生的领导者,也能成为一个具备领导魅力的人,进而被老板看见,向你伸出升迁的橘子枝。领导力是什么?领导力是一种能力或特质,甚至可以说是一种「影响力」。好的领导者通常具备影响和鼓励他人的能力,并导引他们朝着共同的目标和愿景前
    优思学院 2025-01-08 14:54 82浏览
  •  在全球能源结构加速向清洁、可再生方向转型的今天,风力发电作为一种绿色能源,已成为各国新能源发展的重要组成部分。然而,风力发电系统在复杂的环境中长时间运行,对系统的安全性、稳定性和抗干扰能力提出了极高要求。光耦(光电耦合器)作为一种电气隔离与信号传输器件,凭借其优秀的隔离保护性能和信号传输能力,已成为风力发电系统中不可或缺的关键组件。 风力发电系统对隔离与控制的需求风力发电系统中,包括发电机、变流器、变压器和控制系统等多个部分,通常工作在高压、大功率的环境中。光耦在这里扮演了
    晶台光耦 2025-01-08 16:03 80浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 113浏览
  • 故障现象一辆2017款东风风神AX7车,搭载DFMA14T发动机,累计行驶里程约为13.7万km。该车冷起动后怠速运转正常,热机后怠速运转不稳,组合仪表上的发动机转速表指针上下轻微抖动。 故障诊断 用故障检测仪检测,发动机控制单元中无故障代码存储;读取发动机数据流,发现进气歧管绝对压力波动明显,有时能达到69 kPa,明显偏高,推断可能的原因有:进气系统漏气;进气歧管绝对压力传感器信号失真;发动机机械故障。首先从节气门处打烟雾,没有发现进气管周围有漏气的地方;接着拔下进气管上的两个真空
    虹科Pico汽车示波器 2025-01-08 16:51 92浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 147浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 161浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 123浏览
  • 本文介绍编译Android13 ROOT权限固件的方法,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。关闭selinux修改此文件("+"号为修改内容)device/rockchip/common/BoardConfig.mkBOARD_BOOT_HEADER_VERSION ?= 2BOARD_MKBOOTIMG_ARGS :=BOARD_PREBUILT_DTB
    Industio_触觉智能 2025-01-08 00:06 100浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦