还剩3天,C++ 之父年末演讲:开发者应该“重新认识”C++!

摘要:12 月 5 日上午,C++ 之父、ACM 和 IEEE 院士 Bjarne Stroustrup 将在「2024 全球 C++ 及系统软件技术大会」(CPP-Summit)主会场带来题为《重新认识 C++:跨世纪的现代演进》的主题演讲。

语言设计是宏伟理念与繁琐细节的奇妙结合。

12 月 5 日上午,C++ 之父、ACM 和 IEEE 院士 Bjarne Stroustrup 将在「2024 全球 C++ 及系统软件技术大会」(CPP-Summit)主会场带来题为《重新认识 C++:跨世纪的现代演进》的主题演讲。

在他看来,当今的许多程序员仍在用二十世纪的思维评判现代 C++,仿佛现在还是电话需要插线、代码短小而初级、性能不尽如人意的年代——刻板印象太深了,对于 C++ 的安全性也有诸多误解,以至于他不得不出手为 C++ “正本清源”。

选在此时“重新认识” C++,绝非偶然。在当今编程语言的激烈争论中,C++ 似乎总是处于风口浪尖。有人说它变得过于复杂,应该回归简单;有人担忧它的新特性会破坏代码的可维护性;更有人认为在内存安全性方面,它不如 Rust 等编译期安全检查更可靠。全球 C++ 社区也围绕语言发展方向形成了“坚守传统”和“推崇创新”两大阵营。

在 12 月 5 日上午长达 80 分钟的主题演讲中,C++ 之父将会为我们展示一个焕然一新的 C++ 图景:以强类型泛型编程为核心,模块化呈现代码,杜绝资源泄漏,系统化处理错误。在主题演讲之后, C++ 之父将和 C++ 大会发起人、CSDN 高级副总裁李建忠, 加拿大 C++ 标准委员会主席、Codeplay 技术 VP Michael Wong 进行炉边谈话,就 C++ 社区关心的问题进行头脑风暴。

四十五年来,Bjarne 始终在语言发展的关键节点上做出富有远见的决策。回首 1979 年,这位年轻的丹麦程序员在贝尔实验室做出了自己的第一个重要抉择:如何设计一门既能保持 C 语言高效性,又能提供更强大抽象能力的编程语言?那时的他年仅 29 岁,却已经在为这门语言的“百年大计”深思熟虑。而今天,面对技术社区对 C++ 的诸多争论,他再次站出来为 C++ 指明方向。C++ 之父也非常关心 C++ 在中国的发展,本文将从 2005 年起回顾 Bjarne 首次来上海参加第一届 C++ 大会的情景,历数 Bjarne 和 C++ 大会的不解之缘。

破茧

2005 年,当 Bjarne 首次来到上海参加 C++ 技术大会时,C++ 正处于一个关键的转折点。1998 年发布的第一个 ISO C++ 标准为这门语言奠定了基础,但随后的几年里,新的挑战接踵而至:软件系统的规模空前扩大,多核处理器开始普及,开发者对更现代化特性的需求越来越迫切。那时的 C++ 还没有智能指针这样的标准组件,开发者们仍在为内存管理问题绞尽脑汁;并发编程没有语言级别的支持,多线程开发只能依赖平台特定的解决方案;模板的编写和使用也过于繁琐,让许多开发者望而却步。

他为这次参会选择了一个意味深长的演讲主题:“C++0x 的方向”(Direction for C++0x)。

“0x”代表了新世纪头十年里的某一年,暗示着 C++ 即将迎来的重要变革。在他看来,一门好的编程语言远不止是特性的简单集合,而应该是一套能够流畅协作的完整机制,去支持超越设计者想象的编程风格。为此,他提出了一系列指导原则:通用性优于特殊化,新手和专家都要照顾到,优先考虑通过库而不是改变语言本身来扩展功能,保持与已有代码的兼容性。这些原则,成为了此后 C++ 演进的重要思想。

2005 年,Bjarne 首次参加上海的 C++ 大会

“在 C++ 中,存在着一种更小、更清晰的语言,在努力破茧而出。” Bjarne 曾在《The Design and Evolution of C++》中写道。他后来在自己的个人网站上对这句话进行了一个补充:“语言的语义实际上比其表面的语法更加清晰,关键是要找到那些能让编程实践更加有效的方式。”

十多年过去,C++ 走出了一条独特的发展道路。与其他由公司主导或社区野蛮生长的语言不同,C++ 始终坚持通过标准委员会达成共识。这种机制虽然使决策过程变得缓慢,却为语言带来了长期的稳定和繁荣。

2011 年,第三个标准——C++11 的发布被视为现代 C++ 的开端。“C++11 给人一种全新语言的感觉。” Bjarne 经常用这句话评价这次重大更新。事实上,早在 1994 年,他就在著作中提出了诸如模块化这样的设想。但在标准委员会的机制下,每个重大改变都需要经过充分讨论和实践检验,这使得一些重要特性的引入看似缓慢,却更为稳妥,并在接下来的十几年里经受住了考验。

变革

2016 年,Bjarne 开始担任 C++ 大会主席,同时也在全球范围内展开了一系列关于 C++ 未来的深度对话。那一年,他系统性地阐述了他对这门语言的终极愿景,且当时 C++ 正处于一个关键的转型期:C++11 带来的现代化特性,如类型推导、范围循环、智能指针等,让开发者看到了一个更简洁、更安全的 C++。与此同时,新特性的引入也带来了新的挑战:如何在保持性能的同时提供更好的抽象?如何让复杂的模板编程变得更加直观?如何在不同的编程范式之间找到平衡?

2016 年,Bjarne 在 C++ 大会登台演讲

“面向对象不是 C++ 的全部,” Bjarne 时常反复强调这一点,“它只是我们支持的多种编程范式之一。” 这种开放的态度,体现了他对编程语言本质的深刻理解。在他看来,C++ 的独特价值在于它能在系统级编程中提供“零成本抽象”(Zero-cost abstraction)——程序员无需为使用高级特性付出性能代价。这一理念,正是支撑 C++ 在操作系统、游戏开发、嵌入式系统等领域保持优势的关键。

更重要的是,Bjarne 在这一年开始积极推动 Concepts 的标准化工作。这个从 2003 年就开始酝酿的语言特性,旨在为泛型编程提供更好的约束机制。“模板编程不应该是专家的特权,” 他说,“我们需要让它变得更加直观和安全。” 这种让复杂特性变得简单易用的努力,正是 C++ 现代化进程的缩影。

2016 年,Bjarne 和 C++ 大会发起人李建忠 炉边谈话

彼时的 C++ 还面临着来自其他编程语言的挑战。新兴语言往往以更现代的特性和更简单的学习曲线吸引开发者。但 Bjarne 对此有着清醒的认识:C++ 的优势恰恰在于它能让程序员深入底层,在保持对硬件的直接控制的同时,提供高层的抽象能力。

“如果性能是软件的关键指标,同时又需要处理越来越大的复杂度,那么 C++ 几乎是独一无二的选择。” 这一年的关键思考,最终也成就了后一年的新标准——C++ 17。结构化绑定、std::optional 等特性为开发者提供了更多便利,然而软件世界迎来了更为剧烈的变革,C++ 与 Bjarne 面临着新的问题。

重识

近五年来,人工智能和大数据的爆发带来了前所未有的计算需求,云原生架构改变了软件的部署方式,安全意识的觉醒让开发者对内存安全性有了更高的要求。

每个时代,C++ 所面临的挑战都是独一无二的。每当这样的时刻来临,Bjarne 总是能够挺身而出,以他的远见卓识和对语言深刻的洞察力,为 C++ 的演进指引方向,并做出关键性的决策。2019 年,Bjarne 的主题是“原则、问题与解决方案”,这不仅是对当时 C++ 社区所面临问题的一次深刻反思,也是对未来发展的战略性规划。

2019 年,Bjarne 在 C++ 大会

2020 年 C++20 的发布,终于完成标准化的 Concepts 让泛型编程不再是专家的特权,协程为异步编程提供了优雅的解决方案,模块系统从根本上改变了代码的组织方式。

那一年的 C++ 大会也格外令人难忘。与会者本以为无缘见到这位常年坚持亲临现场的语言大师,但当大屏幕上出现 Bjarne 的身影时,现场还是爆发出热烈的掌声。那次演讲中,他特别强调了 C++ 在高性能计算和人工智能领域的重要性。

2020 年,Bjarne 亮相 C++ 大会发表演讲

但今年,C++ 面临的全新问题却根本性发生了改变。

人们不仅仅想要简单性,他们想要一些不可能的东西:一个更简单的语言,具有更多特性,同时又不破坏已有的代码。” 这种矛盾促使 Bjarne 不断思考。

对于那些认为 C++ 过于复杂的看法,他有自己的见解:“有一句话说 'C 语言让你容易对自己的脚开枪,而 C++ 则让这变得更难,但当你真的这样做时,它会炸掉你的整条腿。' 是的,我确实说过类似的话。但人们往往忽略了一点:这个说法在某种程度上适用于所有强大的语言。当你保护人们免受简单危险的影响时,他们会遇到新的、不那么明显的问题。”

在万物互联的时代,从航空航天到生物信息,从电信设施到人工智能,C++ 依然是这些关键领域不可或缺的构建工具。但面临“刻板印象”式的质疑,74 岁的 Bjarne 又一次站在了十字路口,准备为 C++ 指明新的方向。

以《重新认识 C++:跨世纪的现代演进》为演讲主题,不仅是对当前争议的回应,更是对编程语言发展规律的深度思考。本次「2024 全球 C++ 及系统软件技术大会」,C++ 之父将远程在线出席大会,介绍这门跨越世纪的语言,探讨 C++ 的过去、现在与未来。https://www.cpp-summit.org ,前往「2024 全球 C++ 及系统软件技术大会」官网了解详情!

秉承“全球专家、卓越智慧”的理念,由 CSDN&Boolan 举办的「2024 全球C++及系统软件技术大会」将于 12 月 5-6 日在上海虹桥万豪大酒店正式展开。大会由 C++ 之父、ACM 和 IEEE 院士 Bjarne Stroustrup 领衔,联合来自英伟达、阿里巴巴、字节跳动、腾讯、百度和 B 站等顶尖企业的技术专家,通过主题演讲、案例剖析与技术交流,分享行业洞见和实践经验,推动技术创新与落地应用。

来源:CSDN一点号

相关推荐