17611538698
webmaster@21cto.com

ISO C++ 主席赫伯·萨特离开微软,称C++ 26 是“自 C++11 以来最具影响力的版本”

编程语言 0 382 2024-11-18 10:39:44

图片

ISO C++ ISO C++ 委员会主席赫伯·萨特(Herb Sutter) 在微软工作了 22 年后近日离开,成为 Citadel 证券(Citadel Securities)的技术研究员,负责技术战略和培训。

不过,他将继续担任 ISO 委员会主席,并声称 2024 年是C++语言的“关键一年”。

9 月份,萨特在CppCon大会上发表演讲时表示说:

“C++ 26 标准……可能会改变我们开发软件的方式”,并将成为自 C++ 11 以来该语言发生的最大变化。

正像其名称所暗示的那样,C++ 26 的规范将于 2026 年中期完成,尽管 Clang 和 GCC 等编译器中实现的功能的推出还将是渐进的,有些新功能也已经存在。

萨特指出了 C++ 26 中的四个关键特性,他说这些特性“似乎进展顺利”。它们是:

图片

ISO C++ 主席 Herb Sutter 在 Cppcon 上发表演讲
  • 改进 std:execution(异步操作的标准库),以提高并发性和并行性;

  • 类型和内存安全性改进,旨在与其他现代、更安全的语言相媲美;

  • 反射和代码生成,被 Sutter 描述为“我们对编译时编程的巨大改变的一部分”和“可以说是有史以来最具影响力的功能

  • 契约,指定接口以便检查其一致性,包括先决条件、后置条件和有效状态的断言

安全性是 C++ 社区的一个大问题,许多安全专家建议开发人员改用 Rust 等语言,以避免出现与内存使用越界和未定义行为等问题相关的错误和问题。

在 CppCon 上,萨特表示,安全性同等并不意味着完美,而是将解决“容易解决的优先目标”,包括在标准中增加更多安全库、删除与安全相关的未定义行为、新的编译时静态安全规则和动态安全检查。

在本周的一篇博客文章中,萨特表示,上一个具有里程碑意义的版本 C++ 11 引入了现代 C++,具有 auto、lambda 和安全智能指针等功能。

C++ 26 的特点是“默认安全,并优先支持基于反射的生成编译时库”。

图片

博客地址:https://herbsutter.com/2024/11/

Sutter 对该语言表现出极大的热情。“反射/生成有如此多的可能性!迫不及待地想要看到完整的标准化和编译器实现!”一位开发人员在评论该演讲时说道。

不过,其他人则更加谨慎,并担心该语言会变得更加复杂。

有开发人员这样说道:

“整个语言已经变得如此复杂。像 Cppfront 这样的努力有所帮助,但我们需要一种新的受 C++ 启发的编程语言来从 C++ 的灰烬中重生,”一位开发人员说,并补充道,“不,它不是 Rust。” 

Cppfront是 Sutter 为验证新概念而创建的实验性编译器。

图片

GitHub:https://github.com/hsutter/cppfront/

由于需要与遗留代码兼容,添加语言功能总是比删除它们更容易。

萨特曾在微软从事 Visual C++ 的开发工作,该工具在公司内部广泛用于 Windows 和 Office 等关键应用程序。奇怪的是,考虑到萨特在 ISO 委员会中的角色,与 Clang 和 GCC 相比,Visual C++ 在实现新的 C++ 功能方面往往进展缓慢。 

近年来,微软内部的知名人士出于安全性和可靠性原因主张转向 Rust,尤其是Azure 首席技术官 Mark Russinovich。

作者:聆听音乐的鱼

评论