中国网
“17c.c++:并非一人之笔”如果是在讨论 C++ 的发展史,核心意思是:C++虽然由比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)最初设计并推动,但它并不是某一个人独立完成的作品。从早期的“带类的C”,到今天包含泛型、面向对象、并发和现代标准库的复杂语言,C++经历了设计者、编译器开发者、标准委员会、库作者以及全球程序员社区的长期共同建设。
学习时不必把所🌅有语法都当成孤立规则,而可以先理解它们解决的问题:
如果这句话被用作C++历史主题的标题,它表达的是:C++由个人创始构想开启,却由前沿思想、标准委员会、工具链团队、库作者和全球🎊开发者共同塑造。它不是某个人一次完成的作品,而是一项从20世纪延续至21世纪、在不断兼容与创新中成长起来的技术成果。
把C++称作“一段跨越世纪的集体智慧赞歌”,是一种带有文学色🤔彩的概括。这里的“跨越世纪”主要是指它从20世纪末的早期发展,延续到21世纪的持续标准演进,并不🍀表示C++起源于17世纪。如果“17c”被理解为英文中的“17th century”,那就与C++的真实历史不符。
因此,斯特劳斯特鲁普是C++的主要🚀创始人和早期设计者,但“创始人”并不等于“所有内容都由一个人写成”。语言设💡计往往是在已有思想、技术基础和实际需求上持续演进的结果。
C++标准并不是某位作者的私人文档。它由相关国际标准化组织下的专家委员会进行讨论、提案、审查和修订。来自不同国家、企业、大学和开源项目的参与者会围绕一个功能的必要性、语义、实现成本以及向后兼容问题展开长期讨论。
例如,C++中既有接近C风格的指针和手动🌅资源管理,也有类、模板、智能指针、范围循环和标准容器。这些内容并非来自同一时期、同一种设计目标。旧特性强调效率和兼容,新特性则⭐更多关注安全性、表达力和工程维护。
20世纪70年代末,斯特劳斯特鲁普在贝尔实验室开始研究一种能够支持抽象数据类型和面向对象思想的语言。这个项目最初被称为“C with Classes”,后来逐步发展为C++。他希望在保留C语言效率和底层控制能力的同时,引入更适合大型软件开发的抽象机制。
从时间线来看,C++的形成并非一次性完成,而是经过了多次重构、推广和标准化。下面的阶段能够说明它为什么具有明显的集体创作特征。
标准库同样不是一个😎人完成的简单附件。容器、算法、迭代器、智能指针、线程工具和文件系统等组件,都凝聚了不同阶段的设计经验。泛型编🌺程思想以及标准模板库的发展,也受到多位研究者和工程师的影响。