近日,C++ 之父 Bjarne Stroustrup 接受采访,谈及 C++ 的设计思想,以及 C++ 发展历程的关键转折点。
1979 年,还在贝尔实验室的 Bjarne Stroustrup 着手开发 C++ 语言。C++ 的出发点之一是改进 C 语言,增加了面向对象编程的功能。
现在,C++ 语言已经发展成最受开发人员欢迎的语言之一。截至 2020 年 9 月,C++ 是仅此于 C、 Java 、 Python 的全球第四大流行编程语言,并且根据 TIOBE 的调查,C++ 也是增长最快的语言。Bjarne Stroustrup 认为,C++ 的成功令人惊讶,其成功取决于最初的设计目标——有效地使用硬件,再加上强大的抽象机制,以及它可以根据实际使用情况的反馈做谨慎发展。
Bjarne Stroustrup 想用通信系统构建一个多计算机系统,这个通信系统可以是共享内存,也可以是网络。而 Bjarne Stroustrup 选择的重点是软件,“我需要编写底层接近硬件的代码,例如内存管理器、进程调度程度和设备驱动程序,以及软件分离组件,以便它们以良好方式进行通信。”
早期的 C++ 工作由 Bjarne Stroustrup 和他当时的几个同事在做,尝试着标准化之后,C++ 的开发人员也多了起来。1998 年是 C++ 正式标准化的一年,至此,C++ 成为世界上最常用的编程语言之一。如今,C++ 标准委员会大约有 400 名成员。
C++ 完成正式标准化的十三年后,C++ 11 到来并为之后的发展奠定基础。2011 年,C++ 11 发布,这是第三个 C++ 标准。Bjarne Stroustrup 说,“C++ 11 使 C++ 成为一种新的语言。”
并发性的类型安全支持必不可少。C++ 11 提供了有相互支持功能的密集网络,例如用于编译时计算的 [constant expression] 函数、匿名函数、自动类型推导(类型推演)和可变参数模板。另外,虽然 C++ 以复杂著称,但 C++ 11 还引入了一些更简单、更快和更具有表现力的新功能。
此外,Bjarne Stroustrup 还谈到了 C++ 保持生命力的秘诀:从小做起,阐明基本原则,阐明长期理想,并根据实际使用情况的反馈来指导发展。C++ 早期的一些简单程序已经运行至今,Bjarne Stroustrup 认为,对于使用了数十年的系统来说,稳定性是一种重要的功能,“从一开始我就知道我无法构建理想的语言,所以我必须以渐进发展为实际目标。进化是应对世界不断变化着的挑战和融合新思想的必要条件。”