having ambiguous grammar and "gratuitous, trivial, incompatibilities with C (...) that are of no greatbenefit"Linus Torvalds也说,C++是一种可怕的语言,而使用它的一大群水平很次的程序员,使得它变得更加可怕。
"C++ is a horrible language. It‘s made more horrible by the fact that a lot of substandard programmers use it"C++本身的语法是好的,但是过于的复杂,尤其像继承这些特性被乱用了以后,面向对象的那些优势会在那些质量糟糕的代码前面完全丧失,有时候还会使得代码非常费解。
它(C++)对C语言中存在的一些最基本的问题没有什么改进,而它对C语言最重要的扩展(类)却是建立在脆弱的C类型模型上。第十一章《你懂得C,所以C++不在话下》里还有一段话:
编程语言有一个特性,称为正交性(orthogonality)。它是指不同的特性遵循同一个基本原则的程度(也就是学会一种特性有助于学习其他的特性)。例如,在Ada中,程序员一旦明白了包(package)的工作原理,也就能够把这个知识应用于泛型包中。令人不快的是,C++中的许多特性是非正交的。精通C++的某个特性并不能给你带来什么线索或向你启发适用于其他特性的思想模型。大多数程序员选择了只使用C++中较简单的一个子集的方法。
知乎上关于c和c++的一场讨论_看看高手们的想法,布布扣,bubuko.com
原文:http://www.cnblogs.com/haore147/p/3649122.html