ISO C++主席 Herb Sutter 离开微软,并宣布即将发布的 C++ 26 是自 C++11 以来最具影响力的版本

图片

作者 | Tim Anderson
译者 | 平川
策划 | Tina

本文最初发布于 DEVCLASS。

图片

国际标准化组织 C++ 委员会主席 Herb Sutter 离开工作了 22 年的微软,前往 Citadel Securities 担任技术研究员,负责技术战略和培训工作。他将继续担任 ISO 委员会主席。他说,2024 年是该语言的 “关键之年”。

在 9 月份举行的 CppCon 大会上,Sutter 说:“C++ 26 标准...... 很可能会改变我们开发软件的方式”,这是自 C++ 11 以来该语言的最大变革。顾名思义,C++ 26 规范将于 2026 年年中完成。不过,在 Clang 和 GCC 等编译器中实现的特性会逐步推出;有一些已经提供了。

Sutter 确认了 C++ 26 中的 4 个主要特性。他说,这些特性 “看上去正在按计划进行”。

图片

ISO C++ 主席 Herb Sutter 在 Cppcon 大会上演讲这 4 个特性是:

  • 改进 std:execution(异步操作标准库),提高并发性和并行性

  • 改进类型和内存安全性,目的是与其他更安全的现代语言看齐

  • 反射和代码生成,被 Sutter 称为 “编译时编程这一重大变革的一部分”,"可以说是有史以来最具影响力的新增特性

  • 契约(Contract),用于对接口做详细说明,以便进行一致性检查,包括前置条件、后置条件和有效状态断言

安全是 C++ 社区的一个大问题。许多安全专家都建议开发人员改用 Rust 等语言,从而避免出现与内存使用越界和未定义行为等相关的 Bug 和问题。Sutter 在 CppCon 大会上表示,安全对等并不意味着完美,但 “容易处理的优先目标 ”将得到解决,包括在标准中加入更多安全库、删除与安全相关的未定义行为、新的编译时静态安全规则和动态安全检查。

在 2024 年 11 月 11 日发表的一篇博文中,Sutter 写道,上一个里程碑版本 C++ 11 引入了现代 C++ 的概念,提供了 auto、lambdas 和安全智能指针等特性。C++ 26 的主要特点是:默认情况下的安全性,以及对基于反射的生成式编译时库的一等支持。

Sutter 对这门语言的热情极富感染力。“有了反射 / 生成,一切皆有可能!我迫不及待地想看到完整的标准化和编译器实现了!"一位开发人员这样评价道。

但也有人对此持谨慎态度,他们担心这门语言会变得更加复杂。一位开发者说,“整个语言变得如此复杂。Cppfront 这样的工作是有用,但我们需要一种受 C++ 启发的新编程语言,完全摆脱了 C++ 的困境。”他还补充说,“不,不是 Rust。“Cppfront 是 Sutter 为验证新概念而创建的一个实验性编译器。

由于需要与遗留代码兼容,增加语言特性总是比删除语言特性更容易。

Sutter 曾在微软公司从事 Visual C++ 的开发工作。在微软内部,该工具被广泛用于 Windows 和 Office 等关键应用程序的开发。考虑到 Sutter 在 ISO 委员会中的角色,让人颇为奇怪的是,Visual C++ 在实现 C++ 新特性方面往往比 Clang 和 GCC 慢。

近年来,出于安全性和可靠性的考虑,微软内部的一些知名人士主张转向 Rust,其中包括 Azure 首席技术官 Mark Russinovich。

https://devclass.com/2024/11/12/iso-c-chair-herb-sutter-leaves-microsoft-declares-forthcoming-c-26-most-impactful-release-since-c11/

声明:本文由 InfoQ 翻译,未经许可禁止转载。

今日好文推荐
 会议推荐

就在 12 月 13 日 -14 日,AICon 将汇聚 70+ 位 AI 及技术领域的专家,深入探讨大模型与推理、AI Agent、多模态、具身智能等前沿话题。此外,还有丰富的圆桌论坛、以及展区活动,满足你对大模型实践的好奇与想象。现在正值 9 折倒计时,名额有限,快扫码咨询了解详情,别错过这次绝佳的学习与交流机会!