暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Herb Sutter表示C++ 26正在形成

云原生数据库 2023-06-26
89
C++标准委员会主席、微软本地语言架构师Herb Sutter发表了一篇关于C++ 26进展的文章,承诺“在并发和并行方面将会有一个巨大的版本更新”,以及其他的改进。
C++版本以其发布年份命名,并遵循三年一周期。委员会在保加利亚瓦尔纳和在线上举行了会议,有近180名成员参加,并正式通过了C++ 26的时间表,Sutter表示:“这个时间表与C++23的时间表相同,只是在所有地方都加了三年。”新语言特性的最后日期是2024年第三季度,特性冻结是2025年第一季度。
委员会通过了40份“变更文件”,Sutter表示,尽管目前提出的新特性主要是低调的。添加了对_字符的通配符支持,并将@、$和`添加到基本字符集中(与C23一样)。
Hazard指针将会出现在C++ 26中。Hazard指针是一种“只有Hazard指针的所有者才能设置其值,而任意数量的线程都可以读取其值”的指针。尽管如此,这对于C++的安全性并不会带来革命性的影响。一位开发者在Hacker News上表示:“如果你正在编写无锁并发数据结构,并且需要一种处理节点删除后的延迟回收的方法,那么Hazard指针就很重要。这是一个非常奇特的问题,几乎不是‘非常常见的内存安全问题’。”
Sutter表示,“并发和并行子组仍在按计划推进C++26的std.execution和SIMD并行性”,这将是并发编程的重要特性。
尽管Sutter似乎热衷于强调C++标准的稳步进展,但在同一领域中也有对新语言的热情。微软首席技术官Mark Russinovich最近宣布:“现在是停止在C/C++中启动任何新项目的时候了,并在需要非GC语言的情况下使用Rust。出于安全和可靠性的考虑,该行业应该将这些语言声明为过时。”另一个潜在的C++竞争对手是谷歌的实验性Carbon项目;而Sutter本人则提供了实验性的cppfront,称:“我的目标是探索是否有一种方法可以使C++本身变得简单、安全、易于工具化。”cppfront语言是Sutter在2022年底的CppCon上介绍的。
然而,新语言的一个问题是大量现有代码永远不会被移植,这意味着即使那些认为C++存在固有缺陷或过于复杂的人,改进C++仍然是值得的。事实上,C++的大量现有代码是其持续相关性和重要性的主要因素。虽然新语言在某些领域可能具有优势,但事实仍然是,C++被广泛应用于许多行业和应用程序中。因此,改进C++仍然是值得的。事实上,C++标准委员会近年来一直在努力解决这些问题,引入了概念、模块和更好的错误处理等特性。C++的持续演进可能涉及在保持向后兼容现有代码的同时引入新特性和改进,以使该语言保持与现代编程需求相关和有用。

文章转载自云原生数据库,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论