写点什么

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

  • 2024-11-25
    北京
  • 本文字数:1194 字

    阅读完需:约 4 分钟

大小:585.71K时长:03:19
ISO C++主席Herb Sutter离开微软,并宣布即将发布的C++ 26是自C++11以来最具影响力的版本

本文最初发布于 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

 

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

 

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

2024-11-25 15:277540

评论 1 条评论

发布
用户头像
抬头看看世界吧。
2024-11-27 15:05 · 北京
回复
没有更多了
发现更多内容

「码」力集结!他们用作品为FinClip黑客松打造出一道靓丽的风景线

Speedoooo

小程序 hackathon 黑客马拉松 黑客松 小程序容器

CentOS7各个版本镜像下载地址

爱好编程进阶

Java 程序员 后端开发

Day274

爱好编程进阶

Java 程序员 后端开发

docker下kibana搭建

爱好编程进阶

Java 程序员 后端开发

IO流详细解答,博主亲自手敲代码,快速上手

爱好编程进阶

Java 程序员 后端开发

无形资产管理系统解决方案

低代码小观

资产管理 CRM 财务审核系统 CRM系统 企业管理软件

Day346&347&348&349

爱好编程进阶

程序员 后端开发

IntelliJ IDEA开发最佳配置

爱好编程进阶

Java 程序员 后端开发

企业文档爆炸,如何管?

小炮

企业文档管理工具

centos7离线安装mysql5

爱好编程进阶

Java 程序员 后端开发

ansible 模块:blockinfile

ghostwritten

ansible

HIVE3 深度剖析 (上篇)

明哥的IT随笔

大数据 hie

ansible 模块:script

ghostwritten

ansible

idea启动tomcat报错,org

爱好编程进阶

Java 程序员 后端开发

ansible 模块:set_fact

ghostwritten

ansible

萌新看过来,你还学不懂VScode插件吗?

葡萄城技术团队

报表

ansible template jinja2 渲染

ghostwritten

ansible

基于 FFI 的 PyFlink 下一代 Python 运行时介绍

Apache Flink

大数据 flink 编程 流计算 实时计算

拿起手中的键盘做公益侠客,让你的第一个低代码应用为公益发光发热!

InfoQ写作社区官方

低代码 公益 大学生 热门活动 码上公益

容器化 | 构建 RadonDB MySQL 集群监控平台

RadonDB

MySQL 数据库 容器化 RadonDB KubeSphere

ansible 模块:add_host

ghostwritten

ansible

Eclipse中查看源代码

爱好编程进阶

Java 程序员 后端开发

Batman+joker乱谈

爱好编程进阶

Java 程序员 后端开发

CountDownLatch、CyclicBarrier和Semaphore区别及底层原理

爱好编程进阶

Java 程序员 后端开发

当.Net撞上BI可视化,这3种“套路”你必须知道

葡萄城技术团队

看板 数据大屏 BI数据分析

还在写SQL做SAP二开?通过RFC调用NetWeaver,让HANA数据库操作更可靠

葡萄城技术团队

ERP 全套信息化系统 二开

C++类和对象详解

爱好编程进阶

Java 程序员 后端开发

Cloud-借助消息队列解决分布式事务

爱好编程进阶

Java 程序员 后端开发

Day177

爱好编程进阶

Java 程序员 后端开发

hive踩过的小坑

爱好编程进阶

Java 程序员 后端开发

“银行家算法”大揭秘!在前端表格中利用自定义公式实现“四舍六入五成双”

葡萄城技术团队

银行家算法 纯前端表格技术

ISO C++主席Herb Sutter离开微软,并宣布即将发布的C++ 26是自C++11以来最具影响力的版本_编程语言_Tim Anderson_InfoQ精选文章