Stroustrup: la complejidad es el nuevo combustible de la programación
El creador de C++, Bjarne Stroustrup, ha vuelto a desatar un debate sobre los lenguajes de programación, y la conclusión es cuanto menos contundente: la complejidad, lejos de ser un problema, se ha convertido en un componente esencial de la arquitectura del software moderno.
La paradoja de la eficiencia
Stroustrup argumenta que, con el auge de la inteligencia artificial y la proliferación de bibliotecas de alto rendimiento, la necesidad de un control granular sobre el hardware y el software se ha intensificado. Ya no basta con un lenguaje que “haga todo” a costa de la eficiencia. La verdadera innovación reside en la capacidad de manipular la complejidad, no de evitarla.
“Incorporar este código es inaceptable y vergonzoso” – sentencia el científico de la computación danés, una frase que resuena con fuerza en la industria. Stroustrup no es ajeno a la creciente popularidad de lenguajes como Python, JavaScript o Ruby, pero los considera, en su mayoría, simplificaciones excesivas que sacrifican la robustez y la predictibilidad necesarias para proyectos de gran escala.

Dos tipos de lenguajes: una visión pragmática
Según Stroustrup, la división en la ingeniería de software se reduce a dos categorías: aquellos que permiten un control preciso y detallado – C++, Java, Go – y aquellos que se basan en abstracciones y bibliotecas, relegando al programador a un rol más de “configurador” que de diseñador. Es una perspectiva que genera debate, pero que refleja la realidad de la industria.
“Solo hay dos tipos de lenguajes de programación: aquellos de los que la gente se queja y aquellos que nadie usa,” observa con su habitual franqueza. Su blog oficial revela que C++ no es el lenguaje más grande, pero sigue siendo percibido como de “alta complejidad”, un atributo que, según él, lo hace ideal para sistemas críticos y aplicaciones que exigen un rendimiento óptimo. La versatilidad de C++ reside en su capacidad para adaptarse a necesidades muy específicas, algo que los lenguajes más modernos, con su fuerte dependencia de bibliotecas externas, no pueden igualar.
Stroustrup enfatiza que la complejidad es inherente a cualquier sistema potente, y que la resistencia a ella es, en última instancia, una limitación. “La perfección es enemiga de la utilidad”. Es una afirmación que encapsula su filosofía: priorizar la funcionalidad y la fiabilidad sobre la facilidad de uso.
Pero no todo es negatividad. El científico reconoce que la simplicidad puede ser valiosa en contextos específicos, pero advierte que a menudo se paga un precio oculto: la falta de control y la dependencia de terceros. La clave, según Stroustrup, reside en elegir la herramienta adecuada para el trabajo, sin dejarse engañar por la promesa de una solución “mágica”. Y, por último, recalca que aprender a programar por internet, aunque accesible, no sustituye la comprensión profunda de los fundamentos.

El futuro no es simple
En definitiva, Stroustrup nos recuerda que el futuro de la programación no reside en la búsqueda de lenguajes “fáciles”, sino en la capacidad de dominar la complejidad. Un desafío que, sin duda, exigirá a las nuevas generaciones de ingenieros de software una mentalidad diferente.
