🧊 前沿科技知识库
全部 / 软件工程

系统编程语言:C/C++ 与 Zig、Carbon 等

2026-09-26 · 软件工程
最后更新:2026-09-26 | 领域:软件·架构与 API | 说明:信息来源为公开网络资料,详见文末参考来源

概述

系统编程语言指直接面向操作系统内核、嵌入式、编译器、数据库与高性能基础设施的语言家族,长期以 C 与 C++ 为核心。它们贴近硬件、可预测、运行时开销小,但也以手动内存管理与未定义行为(UB)著称。2025–2026 年,围绕「内存安全」的政策压力与技术演进成为该领域主线:一方面 C++ 通过标准库加固(hardening)、合约(contracts)与安全 profiles 做增量修补;另一方面 Rust 在 Linux 内核等关键场景获得正式地位,Zig、Carbon 等新语言继续探索不同的设计取舍。

最新进展(2025–2026)

C++26 定稿与 C++29 启动

ISO C++ 委员会(WG21)在 2026 年 3 月完成了 C++26 的技术工作,并于同年 6 月投票将首批新特性纳入 C++29 工作草案。C++26 的关键语言改进包括编译期反射(reflection)与首轮内存安全加固,标准库方面新增 std::simd 与 std::execution(CppCon 2026 综述)。第三方梳理提到,C++26 经过多达二十余次修订,主要变更包含反射、中断五年后回归的合约,以及一系列消除 UB 的安全增强(C++26 变更清单)。委员会同时披露,已在 C++29 草案中新增附录,系统性地处理 UB 并为 C++ 引入安全 profiles(Standard C++ 标准化动态)。

内存安全:从工程议题上升为监管议题

多项检索资料一致指出,美国、欧盟、英国、德国、澳大利亚的网络安全机构已联合发声,呼吁停止在安全关键软件中使用 C/C++,并将其定性为国家安全问题(Memory Safety Is Now a National Security Issue)。有资料称美国 CISA 为软件厂商设定了 2026 年 1 月 1 日的期限,要求其发布「内存安全路线图」或转向内存安全语言(The 2026 Memory Safety Mandate;Why Everyone is Shifting from C/C++ to Rust)。上述具体期限与备忘录编号在不同二手来源间存在差异,需谨慎对待。

C++ 社群对此作出回应。WG21 论文 P3081R2《Core safety profiles for C++26》提出默认禁止手动动态生命周期管理、保证空指针检查等规则(P3081R2);P3589R1 给出 profiles 的总体框架,强调类型与内存安全 profiles 应在所有实现中可用(P3589R1)。也有论文以「C++ 是否应成为内存安全语言」为题,主张 C++ 会「渐进地变得足够安全」,手段是标准库加固、合约与安全 profiles,而非彻底消除所有 UB(P3874R1)。此外有提案主张加固实现中的断言应采用「终止语义」(P3878R1)。

Zig

Zig 保持高频发布节奏:0.15.1 的发布说明显示该版本包含来自 162 位贡献者的 647 次提交,并移除了已弃用字段(Zig 0.15.1 Release Notes);官方下载页列出 0.16.0 于 2026 年 4 月 13 日发布(Zig Releases)。官方 devlog 显示 2026 年 8 月 27 日的条目预告 0.17.0 将于数周内发布(Zig Devlog 2026)。Zig 以「通用编程语言与工具链,用于维护健壮、最优、可复用的软件」自我定位(Zig 0.16.0 Release Notes)。

Carbon

Carbon 由 Google 主导,目标是成为 C++ 的「后继语言」。官方文档明确其当前仍为实验性项目,团队正推进编译器与链接器工具链,并希望验证能否在 C++ 产业中取得临界规模的关注(Carbon Language documentation)。第三方报道称该项目已累积超过 5,200 次提交、33.7k stars,处于关键成熟阶段(Carbon Programming Language 2026)。

核心技术与关键概念

代表性项目 / 组织 / 产品

关键数据与评测结果

趋势与争议

参考来源

← 并发与并行(Concurrency and Parallelism)桌面与跨平台应用 →