1.2 为什么C++会成功

C++能够如此成功,部分原因是它的目标不只是为了将C语言转变成面向对象编程(OOP)语言(虽然这是最初的目的),而且还为了解决当今程序员,特别是那些在C语言中已经大量投资的程序员所面临的许多问题。传统观念认为,程序员应当抛弃所知道的每件事情,从一组新概念和新语法重新开始,完全相信并接受OOP语言的优势。从长远角度看,这可能是对的;但从短期来看,这显然不现实。

已经存在的代码库可能是可以转变的,但更有价值的是已存在的头脑库。作为一个职业C程序员,如果让他丢掉所有关于C的知识来适应新的语言,他几个月内将毫无成果,直到他的头脑适应了这一新范例。如果他能调整已有的C知识,并在这个基础上扩展,那么他就可以继续保持高效率,带着已有的知识,进入面向对象编程的世界。这种转变当然是混乱的,因为每个人都有自己的编程模型。然而,C++的成功原因之一就是经济上的:转变到OOP需要代价,而转变到C++所花的代价较小。

C++的目的在于提高效率。效率取决于很多因素,而语言的设计应尽可能地帮助使用者,避免使用武断的规则或特殊的性能妨碍使用者。C++成功正是因为它立足于实际,为程序员提供了最大便利。

1.2.1 较好的C

即便程序员在C++环境下继续写C代码,也能直接得到好处,因为C++堵塞了C语言中的许多漏洞和不足。如果你想更深入了解如何在C语言中实现OOP编程,可以查看这篇用C语言实现OOP编程,或者这篇用C进行OOP编程。这些资源提供了详细的教程和示例,展示了如何在C语言中应用面向对象的概念。

对于那些还在怀疑C语言是否真的能够实现OOP的朋友,不妨阅读这篇真的可以用C语言实现面向对象编程OOP,相信你会得到满意的答案。C++不仅仅是一个简单的工具,而是一个帮助程序员在现实世界中更加高效工作的伙伴。