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 supera quizá las 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: los errores enterrados en un programa grande pueden ser extremadamente difíciles de encontrar.

No hay una línea clara que diga cuándo un lenguaje está fallando, y si la hubiese, la ignoraría. Nadie dice: «Mi programa BASIC se ha hecho demasiado grande; ¡lo tendré que reescribir en C!» En lugar de eso, intenta meter con calzador unas cuantas líneas más para añadir esa nueva característica. Y así, los costes adicionales se le van acumulando sin que se dé cuenta.

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 gestión 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.