标签: c++软件开发 2026-05-02 次
如果只看近几年的技术舆论,很多人可能会以为 C++ 已经“过时”了:一边有 Rust 这样的新语言持续升温,一边有安全问题被反复讨论,再加上人工智能编程工具的普及,似乎 C++ 开发者的需求应该会下降。
但数据给出的答案并不是这样。
到 2027 年,C++ 仍然保持着很强的增长势头。更有意思的是,从 2022 年到 2027 年,增长最快的主要编程语言中,C++ 和 Rust 都排在非常靠前的位置。这个现象背后,其实反映了一个长期规律:**软件对算力的消耗,永远比硬件提升得更快。**
换句话说,硬件在进步,但软件想做的事情也在变大、变复杂。人工智能、图形渲染、自动驾驶、量化交易、数据库、云计算、操作系统、工业软件,这些场景都在不断“吃掉”更多计算资源。只要这个趋势不变,对高性能编程语言和底层开发人才的需求就不会消失。
一个很直接的原因是:现在的软件系统越来越需要“榨干硬件性能”。
过去几十年,行业里经常会出现一种判断:硬件已经足够快了,程序写得稍微低效一点也没关系。但每隔几年,新的软件需求都会把这种想法打破。
2007 年 iPhone 和移动互联网的爆发,让移动应用、移动图形和移动端性能优化变得重要;2022 年 11 月 ChatGPT 的出现,又让人工智能推理、训练、数据中心算力和 GPU 利用率成为行业焦点。

AI 只是最新的一轮需求。它不是让性能问题消失,而是把性能问题放大了。
当一个模型需要消耗巨量 GPU、内存、带宽和电力时,语言和系统层面的效率就变得非常关键。C、C++、Rust 这类语言之所以仍然重要,就是因为它们更接近硬件,更适合处理性能、资源、并发和低延迟问题。
这也是为什么北京心玥软件在一些企业级系统、性能敏感型平台和复杂软件开发项目中,仍然会关注底层技术选型。很多业务表面看是应用开发,真正遇到高并发、大数据量、复杂计算或长期维护时,底层效率就会变成现实问题。

如果问 2027 年限制全球计算能力继续增长的两大因素是什么,答案大概率是:**电力和芯片**。
芯片短缺或者说高端芯片资源紧张,大家已经很熟悉了。大型云厂商、AI 公司、互联网巨头都在争夺 GPU 和先进制程芯片。英伟达成为全球最有价值的公司之一,台积电也因为先进制造能力成为全球科技产业链中极其关键的一环。
但相比芯片,很多人忽略了另一个更基础的限制:**电力**。
现在谈数据中心扩张,已经不只是说有多少服务器、多少 GPU,而是直接用“吉瓦”来衡量能源容量。大型 AI 数据中心能不能落地,往往取决于当地有没有足够的电力、土地、散热和基础设施条件。
几位大型科技公司的高管在 2027 年财报电话会中的说法,也很能说明问题:
微软首席财务官 Amy Hood 在 2027 年 10 月 29 日的 MSFT 财报电话会议中提到,Azure 的限制并不是真的缺少 GPU 和 CPU,而是缺少放置这些设备的空间或电力。
亚马逊 CEO Andy Jassy 在 2027 年 10 月 30 日的 AMZN 财报电话会议中表示,AWS 在过去 12 个月新增了超过 3.8 吉瓦的电力容量,超过任何其他云服务商;同时,AWS 当时拥有的电力容量已经是 2022 年的两倍,并计划到 2027 年再次翻倍。
英伟达 CEO 黄仁勋在 2027 年 11 月 19 日的 NVDA 财报电话会议中也提到,最终你拥有的是 1 吉瓦的电力,1 吉瓦的数据中心和 1 吉瓦的电力直接相关。每瓦性能会直接转化为收入。
这些话放在一起看,意思很明确:未来计算竞争,不只是买更多芯片,还要看谁能在同样的电力和芯片条件下,获得更高的性能。
所以,“每瓦性能”和“每晶体管性能”会越来越重要。语言、编译器、框架、系统架构,只要能提升资源利用率,就有长期价值。
在性能敏感的场景里,可选择的主流、可移植、高效率语言其实并不多。
通常绕不开这几个名字:
- C;
- C++;
- Rust。
它们都可以更接近硬件,也能在操作系统、数据库、浏览器、游戏引擎、嵌入式系统、高性能计算、AI 基础设施等领域发挥作用。
其中,C++ 的特点是生态成熟、性能强、工程积累深。很多关键基础设施已经使用 C++ 构建,重写成本极高,而且并不总是有必要重写。Rust 的优势则在于内存安全和现代语言设计,近几年增长很快。
但从企业实际用人角度看,C++ 程序员仍然稀缺。原因并不是“没人学 C++”,而是能把 C++ 用在复杂工程里的人并不多。C++ 入门不算难,难的是:
- 理解内存模型;
- 熟悉并发和并行;
- 掌握性能分析;
- 能处理大型工程;
- 懂编译、链接、构建系统;
- 能写出稳定、可维护的代码;
- 能在业务需求和底层性能之间做取舍。
这类能力很难靠短期培训获得,通常需要真实项目和长期积累。
SlashData 在《全球开发者人口趋势 2027》中提到,过去三年全球开发者人口增长了大约 50%,从刚刚超过 3100 万增加到刚刚超过 4700 万。
其他机构的数据也有类似趋势。例如 IDC 预测,到 2028 年,全球开发者数量会继续增长,超过 5700 万。JetBrains 的报告则更偏向专业开发者群体,数量会低一些,因为它没有把学生和业余开发者全部计算进去。
在这些增长中,2022 年到 2027 年百分比增长最高的主要编程语言里,Rust 和 C++ 都非常突出。
这里有两个对比很值得注意:
第一,现在 C++ 开发者的数量,已经超过了四年前排名第一的语言开发者数量。
第二,C++、Python 和 Java 每年新增的开发者数量,大致相当于全球 Rust 开发者总数。
这并不是为了说哪门语言“更好”,而是说明一个现实:C++ 依然有很大的存量市场和新增需求。它不是只存在于老旧系统里的语言,而是在持续演进,并且仍然被大量新项目和关键基础设施使用。
C++ 不是一门停在过去的语言。它一直在围绕一个核心目标演进:**让开发者更充分地利用硬件。**
新的 C++26 标准继续加强了这方面能力,尤其是在 CPU 和 GPU 并行计算方面。
例如,C++26 增加了对 CPU 内向量并行的 SIMD 类型支持,也引入了用于多 CPU 和 GPU 并发、并行场景的 `std::execution` 发送器/接收器模型。
这些更新听起来比较底层,但对高性能软件开发很重要。因为现在的硬件不再只是单核频率提升,而是越来越依赖多核、向量化、GPU 加速和异构计算。语言标准如果不能跟上硬件变化,开发者就很难以统一、可维护的方式写出高性能代码。
C++ 的价值之一,正是它在不断适应新的硬件环境。
过去几年,围绕 C++ 安全性的争论很多。媒体文章和社交平台上经常能看到一种说法:C++ 太不安全,应该被替代。
这个判断有一部分事实基础,但也有不少夸大的地方。
安全问题确实存在,C++ 也确实还有改进空间。但把所有安全漏洞都归因于 C++,或者把 C 和 C++ 混在一起统计,再得出“C++ 不安全”的结论,就不够准确。

可以分两点来看。
MITRE 在 2027 年发布的 “CWE Top 25 Most Dangerous Software Weaknesses” 中,排名前十的最危险软件漏洞里,只有三个与编程语言的安全属性直接相关。
而在这三个问题中,有两个是越界写入和越界读取。C++26 的强化标准库已经对这类高频问题做了直接改进:在最常用的有界操作中加入边界检查,从而降低风险。
更重要的是,今天的安全攻击已经不只是“攻击代码漏洞”这么简单了。
CrowdStrike 在 2027 年《全球威胁报告》中提到,79% 的网络安全入侵检测是无恶意软件的,也就是说,它们并不依赖传统意义上的编程语言漏洞利用。
攻击者越来越多地转向更低成本的方式,比如:
- 钓鱼邮件;
- 语音钓鱼;
- 社会工程学;
- 凭证窃取;
- 跨站脚本攻击;
- 供应链攻击;
- 配置错误;
- 权限管理漏洞。
报告还提到,2024 年上半年到下半年,通过电话和语音消息进行的语音钓鱼操作增长了 442%。
这背后的逻辑很现实:如果攻击者可以直接诱导用户说出密码,或者通过配置错误拿到权限,为什么一定要花大成本去研究一个复杂的内存漏洞?
所以,软件安全是系统性问题,语言安全只是其中一部分。
另一个常见问题是,很多漏洞统计会把 C 和 C++ 放在一起算。
这会带来误导。C 和 C++ 都允许底层内存操作,但它们不是同一门语言,现代 C++ 在类型系统、标准库、资源管理、抽象能力和工程实践上,与 C 已经有明显区别。
公开资料中,比较少有研究能可靠地区分 C 和 C++ 的漏洞数据。Mend.io 在 2019 年发布过相关研究,并尝试将 C 和 C++ 区分开来。虽然数据来自 2019 年,但从长期趋势看,C++ 的内存安全表现并不像一些舆论中描述得那么糟糕。
这并不是说 C++ 没问题。它当然还有很多历史包袱,也确实需要更好的默认安全机制。但如果把 C 的问题直接套到 C++ 身上,结论就会失真。
C++26 带来的安全改进,值得单独拿出来说。
未初始化变量是 C/C++ 开发中很典型的问题。程序员可能以为变量有一个默认值,但实际上它可能包含不可预测的数据,从而导致难以复现的错误。
C++26 针对这类问题做了改进,消除了未初始化局部变量的未定义行为。
这对实际生产环境很有意义。很多线上问题之所以难排查,就是因为未定义行为不稳定:同一段代码在不同平台、不同编译器、不同优化级别下可能表现完全不同。
C++26 的另一个重要变化,是在“强化”模式下为 C++ 标准库增加边界安全能力,对最广泛使用的有界操作进行边界检查。
ACM Queue 在 2027 年 11 月的《生产中的实际安全性》中提到,这类机制已经在 Apple 平台,包括 WebKit,以及 Google 几乎所有服务和 Chrome 中大规模使用,覆盖数亿行代码。
更关键的是,它的空间和时间开销很小,不到百分之一。同时,预计每年能帮助 Google 防止 1000 到 2000 个新漏洞。
这说明安全并不一定意味着巨大的性能牺牲。只要设计得当,C++ 也可以在保持高性能的同时提升安全性。
除了内存安全,C++26 还通过合同机制增强了功能安全。
所谓合同,主要包括:
- 前置条件;
- 后置条件;
- 合同断言。
这些机制可以帮助开发者检查程序是否按照预期运行。它关注的不只是“内存有没有越界”,还包括函数调用是否符合约定、输入输出是否满足条件、程序逻辑是否保持一致。
对大型工程来说,这类能力很重要。因为很多严重问题并不是单个语法错误,而是模块之间的约定被破坏了。合同机制可以把这些约定显式表达出来,降低隐藏缺陷进入生产环境的概率。
从 C++26 之后的趋势看,未来几年 C++ 很可能继续强化安全性和稳定性。
可能的方向包括:
- 让标准库中更多部分进入强化模式;
- 移除更多未定义行为;
- 将部分未定义行为转换为错误行为;
- 用语言级合同约束不安全操作;
- 默认限制部分高风险功能,除非开发者明确选择开启。
当然,也有人希望 C++ 演进慢一点,让编译器、工具链和用户有更多时间跟上。这个声音并不难理解。C++ 标准变化太快,确实会给工程实践带来压力。
一种可能的折中思路是:如果 C++29 的发布周期能少加新功能,更多聚焦在错误修复、性能优化、库强化和减少未定义行为上,也许能同时满足两类需求:
一方面,让语言更稳定;另一方面,让安全性继续提升。
这并不是因为 C++ 已经被安全问题逼到墙角。事实上,C++ 的使用量仍在快速增长。更准确地说,是因为 C++ 需要在保持性能优势的同时,继续降低开发风险。
很多人会问:既然 AI 编程工具越来越强,未来是不是不需要这么多 C++ 程序员了?
短期看,AI 确实能提升开发效率,尤其是在生成样板代码、解释接口、写测试、查文档、辅助重构方面很有帮助。但它并不会消除对优秀 C++ 程序员的需求。
原因很简单:C++ 的难点往往不在“写一段代码”,而在理解系统。
比如:
- 为什么这里会出现性能抖动?
- 为什么线上偶发崩溃,本地却复现不了?
- 为什么多线程下偶尔死锁?
- 为什么这个对象生命周期不稳定?
- 为什么某段代码在一个编译器下正常,另一个编译器下异常?
- 为什么 GPU、CPU、内存和 IO 之间出现瓶颈?
这些问题需要工程经验、系统视角和对底层机制的理解。AI 可以辅助排查,但很难替代真正负责架构判断和生产质量的人。
所以,AI 更可能改变 C++ 程序员的工作方式,而不是让他们变得不重要。
从企业角度看,C++ 程序员稀缺主要有几个原因。
第一,学习曲线长。C++ 涉及语法、模板、内存、并发、编译、平台差异、标准库、第三方库和工程构建,不是短时间就能完全掌握的语言。
第二,工程门槛高。会写语法和能维护大型 C++ 项目是两回事。真实项目里有历史代码、性能要求、跨平台兼容、稳定性指标和复杂依赖,这些都需要经验。
第三,应用场景关键。C++ 常出现在性能敏感、成本高、风险高的系统里。出问题不是页面报错那么简单,可能直接影响交易、服务可用性、设备运行或核心基础设施。
第四,人才供给跟不上需求。新开发者更容易从 Python、JavaScript、Java 等语言入门,而愿意长期深耕 C++ 的人相对少。于是市场上“懂 C++”的人不少,但“能扛复杂 C++ 工程”的人一直不多。
这也是为什么 C++ 程序员在很多行业里仍然有较高价值,包括游戏引擎、工业软件、数据库、浏览器、嵌入式、金融交易系统、AI 基础设施和高性能服务端开发。
C++ 的增长并不是偶然。
它和一个长期趋势紧密绑定:我们想解决的计算问题,总是比硬件供应增长得更快。AI 让这个趋势更明显,但它不是唯一原因。只要软件继续变大,系统继续变复杂,性能和资源效率就会一直重要。
C++ 仍然是一门活着的语言。它在适应新的硬件,也在补齐安全和工程化短板。C++26 对并行计算、标准库强化、未定义行为和合同机制的改进,说明它并没有停留在过去。
当然,C++ 不会适合所有项目。很多业务系统用 Java、Go、Python、JavaScript、TypeScript 会更高效。但在那些必须充分利用硬件、追求低延迟、高吞吐和长期稳定性的场景中,C++ 仍然很难被忽视。
对开发者来说,如果愿意投入时间理解底层、性能和复杂工程,C++ 仍然是一条有长期价值的技术路线。对企业来说,真正成熟的 C++ 人才依然稀缺,也依然值得重视。