C++ 并非有些人想像的那么庞大。它并非为教学目的而设计的小巧语言,但那些人们经常用来和 C++ 比较的语言也不小巧,例如 C、Java,C#。和 Wirth 博士最初定义的 Pascal 相比较,它们也非常庞大。当然,这样设计是有合理的理由的,我这么认为。和 30 年前相比,当今的编程世界已经变得异常复杂,现代编程语言恰恰反映了这一点。
C++ 标准共有 740 页,但其中有 400 页描述标准库。语言特性的(极度详细的)描述只不过占了 340 页。类似地,TC++PL 共有一千余页,但仅有 350 页用于解释语言特性及其用法;其余部分讨论标准库、编程技巧等。
C++ 直接支持(也就是内建于语言中)一些其它语言通过库来支持的特性,所以 C++ 的语言部分会相对更庞大一些。另一方面,如果你想编写一个“典型的现代应用程序”,那你还需要考虑操作系统接口、GUI、数据库,网页接口等。你必须熟悉的东西包括语言特性、库,以及编程习俗与标准。和这些东西的总和相比,编程语言本身还是很小的。C++ 的庞大可以说是一个优点,因为它能更好地支持优秀的库。
最后,编程新手也能了解一门语言的全部特性的时代已经一去不复返了,至少对于那些广泛应用于工业上的语言来说是这样。只有少数专家级的人了解“C 的全部”或者“Jave 的全部”。由此推之,没有人需要为新手不了解 C++ 的全部而道歉。你必须做的是——无论学任何语言——先学其中一个子集,开始编写代码,然后循序渐进地深入学习这门语言,它的库及其开发工具。
原文地址:http://www.research.att.com/~bs/bs_faq.html#big
本文版权归 蚂蚁的 C/C++ 标准编程 以及 作者 Bjarne Stroustrup 翻译:antigloss 共同所有,转载请注明原作者和出处。谢谢。