(译)Bjarne Stroustrup 谈 C++20 的意义

(译)Bjarne Stroustrup 谈 C++20 的意义

原文

wg21-1990-2020

以下是本周六 Bjarne Stroustrup 在会议中关于 C++20 标准的完成和向标准委员会(发表的)总结评价的笔记:

在2020年2月15日布拉格的 79-0 投票批准 C++20 标准完成后,我发表了一些评价以强调此次活动的重要性。在 Herb Sutter 展示了 C++ 标准委员会成员在第一次会议上的照片,以及在 C++11,C++14,C++17 和 C++20 投票会议上的照片后, 我走上了讲台。我参与了以上所有会议,EDG 的 Mike Miller 和核心工作组主席也是如此。我们是所有照片中都在的人。我(在讲台上)大致是这样说的:

这是一个历史性事件:

  • C++ 标准化的三十年。(30 years of C++ standardization.)
  • C++ 自身的四十年。(40 years of C++.)
  • C++20 是(C++ 的)第六个标准,第三个主要标准; 我说的“主要”是指“改变了人们的思维方式”。
  • 这类似于第 75 次会议;我参加过大概 70 个这样的会议。(This is something like the 75th meeting; I have been at about 70 of those. 译注:不知道老爷子是不是指自己今年七十岁了)

我想说一点个人感想。对我来说 C++20 很特别,因为它基本上全部来自于 “The Design and Evolution(D&E)”(1994)。尤其是它具有概念(concepts),模块(modules)和协程(coroutines):

  • 概念并不在 D&E 中,但书中有三页不包含它们的致歉。那时我和其他人都不知道如何足够好的设计和实现它们。
  • 那时模块还只是一个梦想,但书中特别提到了它们 —— 我梦想着有一天我们可以消除预处理器。
  • 协程是 C++ 最开始十年里的基础(Coroutines were the bread and butter for C++ during the first 10 years)。曾经大多数其他语言中都缺失它们。陷入于 SPARC 架构(译注:一种 RISC 微处理器架构)上协程的实现曾让我感到头痛。

此外,我们还增强了语言的并发性,在标准库中加入了范围(ranges),日期(dates)和容器视图(span)。

我们(也就是 C++ 标准委员会成员)必须谨慎负责。我们在为一个庞大的社区服务:

  • 为整个社区服务,而不是仅仅为专家服务 —— “让简单的事情保持简单”。
  • 当心,(因为)世界在变化。现在看起来重要或者时髦的东西,长远来看可能不太好。
  • 务实而不教条;务实且有原则。(Be pragmatic, not doctrinaire; pragmatic and principled.)

以上(理念)已指导 C++ 的开发至今,这并不容易,我们必须平衡许多利害关系。(所以)我建议大家:

  • 追求一个完全资源安全和类型安全的 C++。
  • 可以很好地支持各种硬件。
  • 保持 C++ 的稳定性(兼容性),“稳定性是一项功能”,(我们要)尽其所能。

这些目标一直以来都很好地为 C++ 服务。

我好奇 30 年后谁会来这里?那是在 2050 年的时候。

感谢收听。我们在保加利亚见!(保加利亚是下一次 ISO C++ 标准会议的举办地)。

原文链接: https://www.cnblogs.com/infancy1996/p/12390303.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    (译)Bjarne Stroustrup 谈 C++20 的意义

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/332780

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午6:41
下一篇 2023年3月1日 下午6:42

相关推荐