“跨越世纪的集体智慧”应该怎样理解



20世纪70年代末,斯特劳斯特鲁普在贝尔实验⭐室开始研究一种能够支持抽象数据类型和面向对象思想的语言。这个项目最初被称为“C with Classes”,后来逐步发展为C++。他希望在保留C语言效率和底层控制能力的同时,引入更适合大型❤️软件开发的抽象机制。



所以,“并非一人之笔”并不是否定斯特劳斯特鲁普的贡献,而是避免把一门复杂语言的全部历史简化成个人传记。个人可以点燃起点,但长期可用的技术体系通常需要许多人的接力。



例如,C++中既有接近C风格的指针和手动资源管理,也有类、模板、智能指针、范围循环和标准容器。这些内容并非来自同一时期、同一种设计目标。旧特性强调效率和兼容,新特💡性则⭐更多关注安全性、表达力和工程维护。



C++发展中的几个关键阶段



因此,斯特劳斯特鲁普是C++的主📌要创始人和早期设计者,但“创始人”并不等于“所有内容都由一个人写成”。语言设计往往是在已有思想、技术基础和实际需求上持续演进的结果。



C++标准并不是某位作者的私人文档。它由相关国际标准化组织下的专家委员会进行讨论、提案、审查和修订。来自不同国家、企业、大学和开源项目的参与者会围绕一个功能的必要性、语义、实现成本以及向后兼容问题展开长期讨论。



理解C++的形成过程,有助于解释它为什么同时保留了底层控制能力和现代抽象工⚡📢具,也能帮助学习者正确看待语言中的复杂性。



举报/反馈