tecnologia

Stroustrup: la complejidad es la nueva clave del desarrollo

El creador de C++ desmantela la idea de que la simplicidad es sinónimo de eficiencia en la programación. Su visión, más allá de las modas del momento, revela un panorama donde la complejidad, lejos de ser un obstáculo, se ha convertido en un pilar fundamental.

El dilema de la eficacia: ¿sencillez o poder?

El dilema de la eficacia: ¿sencillez o poder?

Bjarne Stroustrup, figura clave en la evolución de la informática, argumenta que la obsesión por lenguajes de programación “fáciles” está, paradójicamente, limitando el potencial de la ingeniería de software. En una reciente entrevista, el científico de la computación danés sostiene que la creciente integración de la inteligencia artificial y la proliferación de bibliotecas modernas no han simplificado el desarrollo, sino que lo han complejizado, exigiendo un nivel de control más profundo por parte del programador.

“Lo que realmente importa es el nivel de control que necesitas”, afirma Stroustrup. “Y eso, en gran medida, define si un lenguaje es adecuado para un trabajo o no. Estamos viendo una clara división en la industria: por un lado, los programadores que no escriben una sola línea de código, que dependen completamente de herramientas que los 'incorporan'. Para ellos, esto es inaceptable y vergonzoso. Por otro, aquellos que entienden el corazón del problema y, sí, que requieren lenguajes que les permitan moldear el sistema a su antojo.”

Stroustrup, con su característica franqueza, no se anda con rodeos: “Solo hay dos tipos de lenguajes de programación: aquellos de los que la gente se queja y aquellos que nadie usa”. Y, según él, la mayoría de las quejas provienen de los lenguajes exitosos, los que han demostrado su valía a lo largo de los años –C++, Java, Python – lenguajes, además, que se han convertido en la columna vertebral de sistemas a gran escala. Estos no son precisamente los más ‘fáciles’ de aprender o usar, pero su robustez y flexibilidad los hacen imprescindibles para proyectos complejos.

En contraste, los lenguajes modernos, diseñados para la facilidad de uso, se basan en una gran dependencia de bibliotecas externas y entornos complejos, lo que, paradójicamente, introduce una nueva capa de complejidad oculta. Resulta que la aparente simplicidad es, en realidad, una fachada. “No es que sean malos”, aclara Stroustrup, “pero su eficiencia y flexibilidad palidecen en comparación con la capacidad de C++ para resolver problemas que se presentaban hace tres décadas.”

La opinión de Stroustrup, lejos de ser una simple opinión, resuena en la comunidad. Muchos especialistas coinciden en su análisis, subrayando que la complejidad inherente a los lenguajes poderosos es inevitable y, en definitiva, beneficiosa.