澎湃新闻
因此,斯特劳斯特鲁普是C++的主要创始人和早期设计者,但“创始人”并不等于“所有内容都由一个人写成”。语言设计往往是在已有思想、技术基础🍀和实际需求上持续演📢进的结果。
所以,“并非一人之笔”并不是否定斯特劳斯特鲁普的贡献,而是避免把一门复杂语言的全部历🎵史简化成个人▶️传记。个人可以点燃起点,但长期可用的技术体系通常需要许多人的接力。
学习时不必把所有语🤔法🎵都当成孤立规则,而可以先理解它们解决的问题:
尤其是C++需要兼容相当多的C语言代码,同时还要增加新的抽象能🎊力。这🎇种“兼容旧世界、支持新特性”的目标,使许多设计决策不能只由个人偏好决定,而要综合性能、可移植性、历史代码和开发习惯等因素。
C++标准并不是某位作者的私人文档。它由相关国际标准化组织下的专家委员会进行讨论、提案、审查和修订。来自不同国家、企业、大学和开源项目的参与者会围绕一个功能的必要性、语义、实现成本以及向后兼容问题展开长期讨论。
标准只描述语言应当如何工作,用户能否稳定使用,还取决于编译器和库的实现。GCC、Clang、微软Visual C++等工具链分别经历了长期开发,持续处理模板💎、优化、诊断、调🎊试、平台兼容和新标准支持等问题。
“17c.c++:并非一人之笔”如果是在讨论 C++ 的发展史,核心意思是:C++虽然由比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)🎨最初设计并推动,但它并不是某一个人独立完成的作品。从早期的“带类的C”,到今天包含泛型、面向对象、并发和现代标准库的复杂语言,C++经历了设计者、编译器开发者、🎊标准委员会、库作者以及全球程序员社区的长期共同建设。
一个特性即使提出得很早,也可能因为复杂度过高、实现不成熟或与既有规则冲突而被修改、推迟,甚至取消。最终发布的标准,是多方技术判断和协商后的结果。
标准库同样不是一个人完成的简单附件。容器、算法、迭代器、智能指针、线程工具和文件系统等组件,都凝聚了不同阶段的设计经验。泛型编程思想以及标准模板库的发展,也受到多位研究者和工程师的影响。
例如,C++中既有接近C风格的指针和手动资源管理,也有类、模板、智能指针、范围循环和标准容器。这些内容并非来自同一时期、同一种设计目标。旧特性强调效率和兼容,新特性则更多关注安全性、表达力和工程维护。