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 中的四个关键特性,他说这些特性“似乎进展顺利”。它们是:
改进 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。
作者:聆听音乐的鱼
本文为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。