写点什么

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:277707

评论 1 条评论

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

ESP32-C3入门教程 基础篇(四、I2C总线 — 与SHT21温湿度传感器通讯)

矜辰所致

I2C I2C协议 ESP32-C3 9月月更

面试突击85:为什么事务@Transactional会失效?

王磊

Java 面试

史上最详细vue的入门基础

楠羽

Vue 笔记 9月月更

Python教程之Python简介

芯动大师

编程语言 9月月更 Python简介

springboot搭建基于minio的高性能存储

CTO技术共享

40 岁程序员会有哪些肺腑之言?这篇文章告诉你

宇宙之一粟

学习 程序员 读书感悟 9月月更

数字化转型新抓手:一看就懂的《企业应用现代化行动指南》(附下载)

York

容器 微服务 云原生 应用现代化

跟着卷卷龙一起学Camera--CCM

卷卷龙

ISP 9月月更

【字符串函数内功修炼】strlen + strstr + strtok + strerror(三)

Albert Edison

C语言 9月月更 strlen strstr strtok

[SSM]SSM整合①(整合配置)

十八岁讨厌编程

Java 后端开发 9月月更

概述构建应用智能运维系统的核心能力

阿泽🧸

智能运维 9月月更

开发者有话说|时间过得真快,我也是一个“奔三”的人了

武师叔

个人成长

《简单记个笔记》之部分CSS选择器介绍

吉师职业混子

9月月更

ESP32-C3入门教程 基础篇(三、UART模块 — 与Enocean无线模块串口通信)

矜辰所致

ESP32-C3 9月月更 UART

C++学习---cstdio的源码学习分析04-创建临时文件函数tmpfile

桑榆

c++ 源码阅读 9月月更

【云原生 | 从零开始学Kubernetes】一、kubernetes到底是个啥

泡泡

云计算 云原生 k8s 9月月更

面对全新的编程语言,这些思路可以帮助你察觉漏洞

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞利用

2022-09-19:给定字符串 S and T,找出 S 中最短的(连续)子串 W ,使得 T 是 W 的 子序列 。 如果 S 中没有窗口可以包含 T 中的所有字符,返回空字符串 ““。 如果有不

福大大架构师每日一题

算法 rust 福大大

《简单记个笔记》之表单标签加CSS选择器

吉师职业混子

9月月更

SSM整合(功能模块的开发)

十八岁讨厌编程

Java ssm 后端开发 9月月更

SSM整合(接口测试)

十八岁讨厌编程

Java SSM框架 后端开发 9月月更

4 分钟优化 Fetch 函数写法~

掘金安东尼

前端 9月月更

Web3.0杂谈-#001(47/100)

hackstoic

Web3.0

2022-09-20:以下go语言代码输出什么?A:8 8;B:8 16;C:16 16;D:16 8。 package main import ( “unsafe“ “fmt“ )

福大大架构师每日一题

golang 福大大 选择题

通过爬虫爬取一些图片

吉师职业混子

9月月更

数据平台发展史-从数据仓库数据湖到数据湖仓

明哥的IT随笔

hadoop spark 数据仓库 数据湖 湖仓一体

开发者有话说 | 一个普通人的前端职业成长之路

范文杰

个人成长

RAID(独立冗余磁盘阵列)

阿柠xn

Linux 运维 操作系统 raid 9月月更

【数据结构】五分钟带你了解及自定义有向图

迷彩

数据结构 算法 无向图 9月月更 有向图

开发者有话说|情分 or 本分

卷卷龙

个人成长 职场 PUA

监控系统的阶段建设

穿过生命散发芬芳

监控系统 9月月更

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