Stroustrup: la complejidad es la nueva normalidad en la programación

El creador de C++, Bjarne Stroustrup, ha vuelto a plantearse la eterna discusión sobre los mejores lenguajes de programación, ofreciendo una visión contundente y, cuanto menos, provocadora. En una reciente entrevista, el científico de la computación danés argumenta que la complejidad, lejos de ser un inconveniente, es ahora un componente inexorable en el desarrollo moderno.

La ia impulsa la complejidad necesaria

La ia impulsa la complejidad necesaria

Stroustrup señala que el auge de la inteligencia artificial y la proliferación de bibliotecas de desarrollo, que agilizan tareas antes engorrosas, han generado una demanda de control más granular por parte de los programadores. Esta necesidad, según él, ha fragmentado la industria en dos categorías principales: aquellos que delegan la mayor parte del trabajo a herramientas externas y aquellos que, en cambio, prefieren mantener un control exhaustivo sobre cada línea de código.

“Incorporar este código es inaceptable y vergonzoso,” sentencia Stroustrup, con un tono que refleja su profunda desconfianza hacia las soluciones prefabricadas. Su postura no es una crítica gratuita; es una advertencia sobre el riesgo de perder la capacidad de comprender y controlar los sistemas que estamos construyendo. La ingeniería de software, en su visión, se encuentra en una encrucijada, dividida entre la comodidad de la automatización y la necesidad de un dominio técnico profundo.

El veterano programador desmiente la idea de que existen lenguajes “perfectos” o “simples”. En su característico estilo, repite su famosa frase: “Solo hay dos tipos de lenguajes de programación: aquellos de los que la gente se queja y aquellos que nadie usa.” Esta afirmación, lejos de ser una simple observación, es una crítica a la tendencia a elegir lenguajes por su facilidad de uso, a menudo a expensas de su potencia y versatilidad. C++, a pesar de su reputación de ser complejo, sigue siendo una opción preferida para proyectos de gran envergadura, debido a su capacidad para manejar sistemas a gran escala y resolver problemas que otros lenguajes simplemente no pueden abordar. No es el lenguaje más grande, reconoce, pero sí el más adecuado para tareas que requieren robustez y fiabilidad.

Stroustrup subraya que la búsqueda de la simplicidad puede ser contraproducente. Los lenguajes modernos, con su dependencia de bibliotecas externas y entornos de desarrollo complejos, pueden ser tan complicados como los sistemas que pretenden simplificar. La eficiencia y la flexibilidad, según él, son sacrificadas en aras de la accesibilidad. “La perfección es enemiga de la utilidad,” concluye, una frase que encapsula su filosofía y su advertencia sobre los peligros de la complacencia técnica. Y, para dejar claro su punto, agrega: “La gente se queja de los lenguajes exitosos porque son exitosos y están ahí para quedarse.”

En cuanto a la “distro” en Linux, Stroustrup la define como un conjunto de herramientas y configuraciones que permiten a los usuarios personalizar su sistema operativo. Es fundamental elegir la distro adecuada para evitar errores y garantizar un funcionamiento óptimo, especialmente para aquellos que no son expertos en la materia. Una elección incorrecta puede resultar en inestabilidad y problemas de seguridad.