经济日报
斯特劳斯特鲁普当时参与大型分布式系统研究,需要同时面对网络通信、操作系统接口和复杂数据结构。模拟程序尤其需要描述大量相互关联的对象,例如网络节🎊点、设备状态和通信过程。传统语言可以完成这些任务,却难以让程序结构自然对应现实问题。
这些特性并非一次性完成。设计者📌需要在表达能力、编译器复杂度、运行效率和既有C代码兼容性之间反复权衡。C++早期的发展更像一组持续加入的工程决策,而不是预先写好全部规则后一次发布的产品。
C++的发展说明,编程语言很少完全脱离历史环境独📢立成长。Unix、C语言、Simula的面向对象思想、贝尔实验室的系统软件实践,以及后来形成的标准化机制,共同塑造了今天的C++。理解这些背景后,开发者更容易明白:C++同时重视抽象能力、执行效率、资源控制和生态兼容,正是历史积累留下的结果。
这门语言最初并不叫C++。1979年,斯特劳斯特鲁普开始设计“带类的C”(C with Classes),随后加入虚函数、函数重载、引用等机制,并在1983年前后正式使用C++这一名称。C++的早期目标不是彻底抛弃C,而是在保留效率、可移植性和底层控制能力的同时,为复杂程序提供更清晰的组织方式。