1.11.8. Programar a lo grande

Muchos lenguajes tradicionales tienen limitaciones propias para hacer programas grandes y complejos. BASIC, por ejemplo, puede valer para solucionar ciertas clases de problemas rápidamente, pero si el programa tiene más de unas cuantas páginas o se sale del dominio de problemas de ese lenguaje, es como intentar nadar a través de un fluido cada vez más viscoso. C también tiene estas limitaciones. Por ejemplo, cuando un programa tiene más de 50.000 líneas de código, los conflictos de nombres empiezan a ser un problema - efectivamente, se queda sin nombres de funciones o variables. Otro problema particularmente malo son los pequeños agujeros en el lenguaje C - errores enterrados en un programa grande que pueden ser extremadamente difíciles de encontrar.

No hay una línea clara que diga cuando un lenguaje está fallando, y si la hubiese, debería ignorarla. No diga: «Mi programa BASIC se ha hecho demasiado grande; ¡lo tendré que reescribir en C!» En su lugar, intente calzar unas cuantas líneas más para añadirle una nueva característica. De ese modo, el coste extra lo decide usted.

C++ está diseñado para ayudarle a programar a lo grande, es decir, eliminar las diferencias de complejidad entre un programa pequeño y uno grande. Ciertamente no necesita usar POO, plantillas, espacios de nombres ni manejadores de excepciones cuando esté escribiendo un programa tipo «hola mundo», pero estas prestaciones están ahí para cuando las necesite. Y el compilador es agresivo en la detección de errores tanto para programas pequeños como grandes.