9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

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

评论 1 条评论

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

前沿·探索·想象力,今年的云栖大会有啥不一样?

阿里巴巴云原生

阿里巴巴 云原生

MySQL 从入门到实践,万字详解!

前端下午茶

MySQL 数据库 大前端

架构师训练营 2 期模块三作业

kazeMace

架构实战营

架构实战营第八模块作业

子豪sirius

架构实战营

架构实战营 - 模块八作业

思梦乐

SpringBoot2---指标监控,Java架构师之路

Java 程序员 后端

谈 C++17 里的 Observer 模式 - 3

hedzr

c++ 算法 设计模式 观察者模式 Design Patterns

SpringBoot-自动配置-源码解析,做了5年Java

Java 程序员 后端

SpringBoot之配置文件,Java开发教程入门

Java 程序员 后端

springboot文件上传下载实战 ——文件上传(1),想搞定大厂面试官

Java 程序员 后端

架构实战营模块三

WolvesLeader

「架构实战营」

【LeetCode】最长递增子序列Java题解

Albert

算法 LeetCode 9月日更

这些 JS 中强大的操作符,总有几个你没听说过

前端下午茶

JavaScript 代码设计 代码技巧 基础知识

☕️【Java专题系列】「回顾 RateLimiter」针对于限流器的入门到精通(针对于源码分析介绍)

码界西柚

ratelimiter Guava 9月日更 限流器

Linux常用命令

在即

9月日更

springboot文件上传下载实战 —— 登录功能,「高并发秒杀

Java 程序员 后端

20. 从工业革命到文艺复兴

Databri_AI

人工智能

学生管理系统架构设计文档

紫云

云随想三 2B软件的机遇与挑战?

FLASH

云时代 2B软件

项目管理实践篇(二):技术型PM炼成记

后台技术汇

项目管理 管理 引航计划 内容合集 管理领域

神经网络与点

Nydia

支付宝的沙箱环境配置和使用

Brave

支付宝 支付 9月日更

PHPStorm 的使用技巧汇总

baiyutang

9月日更

Coffee学架构 004 外包学生管理系统的完整架构设计

咖啡

架构设计

吴恩达Andrew Ng CNN卷积神经网络 论文等资料汇总 YOLOv5 新版本—改进与评估 易筋 ARTS 打卡 Week 65

John(易筋)

ARTS 打卡计划

HarmonyOS 鸿蒙登录页搭建及 Text 文本详解

阿策小和尚

HarmonyOS Android 小菜鸟 引航计划 9月日更

springboot文件上传下载实战 ——文件上传,Java入门

Java 程序员 后端

网络攻防学习笔记 Day142

穿过生命散发芬芳

数据中心 9月日更

JavaScript中 6 个reduce()实例

devpoint

reduce 9月日更

SpringBoot整合Redis,怎么实现发布-订阅?,一个回答引发热烈讨论

Java 程序员 后端

高峰应对记录

编号94530

Spring Boot 2 性能压测 测试发开 高峰应对

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