1.11.8 大型程序设计

许多传统语言对程序的规模和复杂性有内在的限制。例如,BASIC对于某些类型的问题能很快解决,但是如果这个程序有几页纸长,或者超出该语言的正常解题范围,那么它可能永远也算不出结果。C语言同样有这样的限制,例如当程序超过50 000行时,名字冲突就开始成为问题。实际上,程序员会用光函数和变量名。另一个特别糟糕的问题是如果C语言中存在一些小漏洞—有错误隐藏在大程序中,要找出它们是极其困难的。

并没有清楚的文字告诉程序员,什么时候他的语言会失效,即便有,他也会忽视它们。他不说“我的BASIC程序太大,我必须用C重写”,而经常是试图硬塞进另外几行,以增加额外的功能。所以额外的花费就悄悄加上来了。

设计C++的目的是为了辅助大型程序设计,这就是说,去掉这些在小程序和大程序之间的复杂性的分界。当程序员写hello-world之类实用程序时,他确实不需要用OOP、模板、名字空间和异常处理,但是当他需要的时候,这些性能就有用了。而且,编译器在排除错误方面,对于小程序和大程序一样有效。