Torvalds ataca a c++: 'un lenguaje horrible' que complica el software

El creador de Linux, Linus Torvalds, ha lanzado una nueva y contundente crítica a C++, el lenguaje de programación que impulsa desde videojuegos hasta sistemas operativos complejos. Su declaración, realizada en 2007, sigue resonando hoy y plantea serias interrogantes sobre la complejidad en el desarrollo de software.

La guerra contra la elegancia

La guerra contra la elegancia

Torvalds, conocido por su pragmatismo y su aversión al código innecesariamente complicado, considera que C++ puede ser un verdadero lastre. Lo describe como “horrible”, argumentando que su potencia inherente a menudo conduce a estructuras de código difíciles de entender, revisar y, sobre todo, mantener. Para él, la claridad del código es primordial, especialmente en proyectos de gran envergadura como Linux o Git.

“C++ es un lenguaje horrible. Lo es aún más porque muchos programadores mediocres lo usan, hasta el punto de que es muchísimo más fácil generar auténtica basura con él,” declaró durante una discusión sobre el desarrollo de Git. Su razonamiento se centra en que la flexibilidad excesiva del lenguaje, con sus múltiples formas de resolver un mismo problema, puede resultar en un aumento exponencial del riesgo de errores y una dificultad creciente para el mantenimiento a largo plazo. La frase, impactante y directa, refleja una preocupación fundamental por la calidad del código, más allá de la mera eficiencia.

La crítica no se dirige a la capacidad de C++ para rendir, sino a la facilidad con la que se puede convertir en un laberinto de complejidad. Si bien es cierto que el lenguaje sigue siendo indispensable en sectores como los videojuegos, los motores gráficos y el software financiero, donde el rendimiento es un factor crítico, Torvalds prefiere C por su mayor transparencia y su exigencia de que las decisiones de diseño sean evidentes. “Cuando alguien reserva memoria, manipula datos o define una estructura, el comportamiento queda más cerca del programador y resulta más sencillo revisar qué está pasando,” explica. En contraste, las abstracciones de C++ pueden ocultar detalles importantes, dificultando la comprensión del código a largo plazo.

La reciente implementación de