Stroustrup: la complejidad en programación, necesaria y valiosa
Bjarne Stroustrup, el creador de C++, vuelve a encender el debate sobre la elección de lenguajes de programación, y su postura es clara: la complejidad no es un fallo, sino un requisito intrínseco del desarrollo de software potente. En un contexto donde la inteligencia artificial y las bibliotecas modernas simplifican tareas, el científico de la computación danés argumenta que la capacidad de controlar a bajo nivel es la clave para la ingeniería de software robusta y eficiente.

La división ineludible: lenguajes para resolver y lenguajes para evitar
Stroustrup, figura clave en la evolución de la programación, ha sido contundente en sus declaraciones: la industria se divide, irremediablemente, en dos categorías de lenguajes. Por un lado, aquellos que generan quejas constantes —C++, Java, Python—, pero que son fundamentales para proyectos masivos, confiables y estables. Y por otro, los lenguajes “perfectos” y “prácticos” en su simplicidad, relegados al ámbito académico o experimental, y que, paradójicamente, carecen de la potencia necesaria para abordar desafíos reales.
La percepción de C++ como un lenguaje “complicado” es, según Stroustrup, una consecuencia de su diseño original: una superficie técnica extensa y una versatilidad que lo hacen ideal para sistemas a gran escala. Aunque no es el lenguaje más grande en términos de número de usuarios (C# y Java lo superan), su capacidad para resolver problemas complejos en la actualidad es muy superior a la que tenía hace tres décadas. No se trata de buscar la simplicidad a toda costa, sino de equilibrar la facilidad de uso con el control y la eficiencia.
Lo que nadie cuenta es que la aparente sencillez de los lenguajes modernos se logra a costa de la flexibilidad y la eficiencia. Su dependencia de bibliotecas externas y entornos pesados los convierte, en última instancia, en opciones menos potentes que C++ en ciertos escenarios. La facilidad, a veces, es una trampa.
Stroustrup, con su característico pragmatismo, recuerda que “solo hay dos tipos de lenguajes de programación: aquellos de los que la gente se queja y aquellos que nadie usa”. Una frase que invita a la reflexión sobre la dinámica actual de la Tecnología y las expectativas poco realistas que a menudo se depositan en las herramientas de desarrollo.
La lección final, según el creador de C++, es clara: “la perfección es enemiga de la utilidad”. La búsqueda de un lenguaje de programación universalmente perfecto es una quimera. Lo importante es elegir la herramienta adecuada para cada tarea, entendiendo que la complejidad, en ocasiones, es un precio que se debe pagar por la potencia y la fiabilidad.