即使是大多数喜欢 C++ 的人也承认,它有很多与其作为系统/性能编程语言的利基无关的缺陷。其中包括其过时的模块管理系统(头文件)、对前向声明的要求、使其语法无法确定的语法怪癖(例如用于模板声明的 <> 尖括号)、包含在文本级别而不是真实语言操作的宏用于解决宏所用事物的功能,重复功能,如数组和字符串(这些类型的 STL 和 C 版本),几乎没有语法糖,以及普遍缺乏现代功能,如线程、垃圾收集、委托/闭包,等(注意:是的,在内存非常有限或实时环境中,您可能有充分的理由不想要垃圾收集,
另一方面,C++ 是唯一一种可以让您高效编写代码并接近金属,而且至少提供一些高级抽象的主流语言。它成熟、标准化,拥有大量编译器实现和库以及大型遗留代码库。
对于那些使用 C++ 作为主要语言的人来说,是什么让你个人认为它的缺点是值得忍受的?怎样才能让你改变主意并决定使用一种新的语言,这种语言的缺陷更少?你使用 C++ 是因为你真的喜欢它,还是因为遗留问题而不情愿地使用它,或者因为它的利基市场没有其他成熟的主流语言存在?