Stroustrup: la complejidad es la clave, no un problema
Bjarne Stroustrup, el arquitecto de C++, ha vuelto a encender el debate sobre los lenguajes de programación, y su postura es clara: la complejidad no es un defecto, sino una condición necesaria para la potencia y el control. Lejos de las predicciones apocalípticas sobre el fin de la programación, el científico de la computación danés argumenta que la verdadera batalla se libra en la capacidad de gestionar esa complejidad.

Dos categorías, dos filosofías
La industria del software, según Stroustrup, se divide en dos grandes vertientes. Por un lado, están los lenguajes que permiten un control granular sobre el hardware y la ejecución, como C++, Java o incluso Python, los cuales generan quejas constantes por su curva de aprendizaje y sus peculiaridades. Pero, paradójicamente, son estos los lenguajes que sustentan los sistemas más críticos y demandantes. La cifra habla por sí sola: C++ no es el lenguaje más extendido en términos de líneas de código, superado por C# o Java, pero su influencia en la ingeniería de alto rendimiento es innegable.
Por otro lado, encontramos los lenguajes “perfectos”, “prácticos” y de apariencia sencilla, que rara vez provocan críticas. Se ubican en el ámbito académico o experimental, sacrificando el control y la eficiencia en pos de una aparente facilidad de uso. La trampa, según Stroustrup, es que esta simplicidad superficial se traduce en una dependencia excesiva de bibliotecas externas y entornos pesados, lo que termina generando una complejidad oculta y, en muchos casos, una menor flexibilidad.
“Solo hay dos tipos de lenguajes de programación: aquellos de los que la gente se queja y aquellos que nadie usa”, afirma Stroustrup, una frase que resume a la perfección la dicotomía. El creador de C++ no solo ha sido un pionero en la evolución de la programación, sino también un observador agudo de sus tendencias. En sus FAQs en el blog oficial, insiste en que la búsqueda de la “perfección” en la programación es una falacia, pues la utilidad reside en la capacidad de resolver problemas reales, incluso si eso implica lidiar con cierta complejidad.
Pero hay un detalle crucial: Stroustrup también ha desmitificado la idea de que el éxito en la programación depende de una inteligencia excepcional. En sus entrevistas, ha señalado que es imposible aprender a programar únicamente a través de internet, y que el verdadero aprendizaje requiere de la interacción con otros profesionales y la resolución de problemas concretos. La industria no premia la brillantez abstracta, sino la perseverancia, la capacidad de análisis y la habilidad para colaborar.
La lección es clara: en lugar de buscar el lenguaje “más fácil”, los ingenieros de software deben elegir la herramienta adecuada para la tarea, entendiendo que la complejidad, lejos de ser un obstáculo, puede ser un aliado en la búsqueda de soluciones robustas y eficientes. La simplicidad, en ocasiones, es solo una ilusión.