Stroustrup: la complejidad en el software es la clave del futuro
Bjarne Stroustrup, el creador de C++, vuelve a encender el debate sobre los lenguajes de programación, pero esta vez no para defender su creación, sino para desafiar una visión simplista del desarrollo. La proliferación de ecosistemas como Python, JavaScript y Ruby ha llevado a muchos a buscar la solución más fácil, pero Stroustrup argumenta que la complejidad, lejos de ser un problema, es un requisito indispensable para el progreso.

La dualidad del software: control vs. abstracción
El científico de la computación danés, en declaraciones recientes, ha delineado una realidad que divide a la industria: la necesidad de control. En la ingeniería de software, existen dos caminos bien diferenciados, cada uno con su lenguaje ideal. Aquellos que requieren un dominio absoluto del hardware y la gestión de recursos se inclinan por lenguajes de “alta complejidad”, mientras que los que buscan abstracción y rapidez de desarrollo optan por alternativas más accesibles. Esta no es una cuestión de ser “demasiado listo”, como Stroustrup ha señalado, sino de comprender las exigencias del proyecto.
La ironía es palpable: Stroustrup, el arquitecto de C++, un lenguaje a menudo asociado con la dificultad, defiende precisamente esa complejidad como una virtud. C++ no es el lenguaje más extendido, superado en popularidad por C# o Java, pero su versatilidad y capacidad para resolver problemas a gran escala lo mantienen como una opción fundamental. Funcionando con una eficacia notable para los retos actuales, lejos de la obsolescencia que algunos pronosticaban hace décadas.
Pero hay un detalle que Stroustrup subraya: la aparente simplicidad de los lenguajes modernos tiene un coste. Su dependencia de bibliotecas externas y entornos pesados introduce una complejidad oculta, a menudo resultando en menor eficiencia y flexibilidad que un lenguaje como C++. La cifra habla por sí sola: los lenguajes que generan constantes quejas son, precisamente, los más utilizados y con mayor trayectoria en la industria; mientras que aquellos proclamados como “perfectos” y “prácticos” tienden a relegarse al ámbito académico o experimental.
“Solo hay dos tipos de lenguajes de programación: aquellos de los que la gente se queja y aquellos que nadie usa,” sentencia Stroustrup, una frase que invita a reflexionar sobre la relación entre utilidad y perfección. Su filosofía es clara: la búsqueda de la perfección absoluta puede ser el enemigo de la utilidad real. No se trata de abrazar la complejidad por sí misma, sino de reconocer que, en última instancia, el poder y la flexibilidad suelen tener un precio.
Para Stroustrup, la clave reside en elegir la herramienta adecuada para el trabajo. Ya sea un lenguaje de “alta complejidad” como C++ o una alternativa más accesible, lo importante es comprender sus limitaciones y aprovechar sus fortalezas. La industria, en su conjunto, necesita programadores capaces de navegar por esta dualidad, dominando tanto la abstracción como el control.
El legado de Stroustrup trasciende la creación de C++. Se trata de un mensaje para las nuevas generaciones de ingenieros: la programación no se aprende únicamente en internet, y el éxito no depende de la genialidad innata, sino de la capacidad de comprender la complejidad y utilizarla a nuestro favor. Un enfoque que, a pesar de las críticas, sigue siendo la piedra angular de la ingeniería de software de vanguardia.
