C++ 11 接受度最广!2024 年 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%,支持多种编程语言,通过插件可扩展其功能,使其成为了许多开发者的首选工具之一。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/csdnnews/article/details/138028323

2019-2020 中国开发者调查报告完整版,CSDN年度出品。 为了更准确的绘制出中国开发者整体图谱,同时也为未来IT行业趋势和人才发展提供指导,CSDN从2004开始发起中国开发者大调查并发布年度调查报告,报告中的数据已成为众多企业和专家进行相关策略制定和未来趋势判断的重要依据。 2019-2020年度调查问卷从个人信息、基本信息、职业信息、技术与技术文化、新技术趋势等版块对开发者进行数据征集,最终收集问卷近万份。 本次调查报告重点发现摘要: 1、30岁以下开发者人数占比超8成,全国近半数的开发者工作在一线城市 2、开发者学习热情高涨,5成开发者通过自学,31%接受了软件开发的在职培训 3、6成开发者在使用Java语言,近5成开发者近期最想学Python语言 4、大数据技术应用开始普及,但大数据应用场景逐渐多元化 5、区块链技术近两是热点,23%开发者有应用或准备应用,72%开发者尚处于初步了解阶段,4%开发者完全不了解 6、人工智能技术日益受到企业和市场的关注,应用前景广阔但任重道远 7、物联网产业链上企业最多的在智能设备环节,大数据分析是物联网最大的应用领域 8、Apache项目和Linux是开发者较为喜欢的开源项目 。。。。。。 想了解更多详情,请点击下载按钮获取完整版调查报告,希望我们的开发者调查报告能给您带来有价值的数据信息。 2020-2021年度中国开发者大调查正在策划中,企业合作请联系:market@csdn.net 附:章节目录 目录 CONTENTS 第一章 报告概述 1.1 背景和方法 1.2 数据处理方法 1.3 样本处理方法 1.4 特邀专家顾问 1.5 特别鸣谢 第二章 重要发现 第三章 开发者现状分析 3.1 开发者基本特征 3.2 开发者薪资状况分析 3.3 开发者学习特点分析 3.4 软件开发工具使用特点分析 第四章 大数据技术应用现状分析 4.1 企业大数据平台构建及应用情况 4.2 企业构建大数据平台所用技术情况 第五章 区块链技术应用现状分析 5.1 区块链技术应用现状分析 5.2 区块链技术开发特点 5.3 区块链应用前景展望 第六章 人工智能技术应用现状分析 6.1 企业人工智能现状 6.2 人工智能技术开发特点 6.3 人工智能行业应用与选用因素 第七章 物联网技术应用现状分析 7.1 5G和物联网技术应用状况 7.2 物联网技术开发现状 第八章 开源技术应用现状分析 8.1 开源技术应用状况 8.2 开源技术开发状况
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值