C++之所以是这样的
——《C++语言的设计和演化》读书笔记(1)
C++之所以这样,大多都源自于Bjarne Stroustrup在实际研究过程中所遇到的问题。为了解决这样那样的问题。他是个实用主义者。正是为了解决实际的问题,C++才有了类,才有了与其他语言的兼容性,才有这样的速度。
“类的概念使我能把应用中的概念直接映射到语言结构,是我的代码比我见过的其它任何语言的代码更具可读性”。是的,正是因为有这样诱人的特点,所有没有理由不把这种特性加到新的语言中去啊。这个优点在开发大型系统的时候显得尤为突出。
与java相比,C++看起来不是完全的面向对象。在C++中,我们还是能发现大量过程化语言的踪迹。这是为什么呢?在网上可以找到很多答案:为了与C兼容。是的,确实是为了与C兼容,但还有别的,那就是C++之父的个人思想——兼容性。“我绝不想通过一种有局限性的程序设计语言定义区推行某种唯一的设计理念。人们思维的方式是如此的丰富多彩,企图推行一种单一理念总是弊多于利。这样,C++被有意地设计成能够支持各种各样的风格,而不是强调‘一条真理之路’”。坚持着这样的信念,C++自然就变成了能够兼容其它语言的语言,不仅兼容上述的C语言,而且还兼容汇编等其它语言。兼容的好处就在于你可以用特定的语言解决特定的问题。在对解决某个特定问题时,可能某种语言的优势是非常明显的,那么我有什么理由不去用这种语言呢?可能的答案只剩下一个:可维护性。这是一个问题。但有时在特别需要效率或者其它什么优势特点的时候,可维护性往往只好降低它的重要级别了。
可移植性也是Bjarne包容思想的一个体现。因此现在C++的可移植性是毋庸置疑的。从Unix、Linux到Windows,以及各式各样的嵌入式的开发中,我们都能看到C++的身影。