Compartir:
Un desarrollador escribe un programa con fallos a propósito para demostrar que C++ todavía tiene algo que decir
En el mundo de la programación hay muchos lenguajes para escribir software, pero dos de ellos, Rust y C++, están viviendo una batalla silenciosa. No se trata solo de qué lenguaje es mejor, sino de una discusión más profunda: ¿debe el programador tener libertad total aunque pueda cometer errores, o es mejor ponerle límites para evitar fallos?
Esta discusión se ha hecho viral gracias a un artículo de Mamadou Babaei, un ingeniero de software que ha publicado un tutorial con un título provocador:
“Los programadores de Rust creen que no tenemos remedio. Vamos a demostrarles que están equivocados (¡con errores de memoria en C++!)”
Sí, has leído bien: en lugar de demostrar lo bueno que es C++, Babaei escribió un programa que falla a propósito, dejando errores de memoria. Y lo hace con humor.
¿Qué significa eso de “errores de memoria”?
Cuando se escribe un programa, este necesita reservar memoria para guardar datos, como por ejemplo contraseñas. En lenguajes como C++, esa memoria hay que pedirla y devolverla manualmente. Si el programador se olvida de “devolverla”, se produce una “fuga de memoria”, un error que con el tiempo puede hacer que el programa funcione mal o incluso se bloquee.
Rust, en cambio, es un lenguaje más moderno que evita estos errores automáticamente. Tiene un sistema llamado “borrow checker” que impide que el programador cometa estos fallos. Para muchos, eso lo hace mejor. Pero otros —como Babaei— creen que también quita libertad.
Un experimento con humor… y con errores
En su artículo, Babaei no intenta ganar el debate con datos técnicos. Prefiere reírse un poco de la situación. Escribe un programa en C++ que genera contraseñas sin parar, pero no libera la memoria. Y dice con ironía: “¿Quién necesita protección cuando puedes tener caos?”
También ofrece una versión del programa que sí detecta los errores, usando herramientas especiales del sistema operativo. Así, además de hacer una broma, ayuda a quienes están aprendiendo a programar a entender cómo detectar fallos.
Rust vs C++: dos formas de pensar
La discusión entre Rust y C++ no es solo técnica. Es también filosófica:
- Rust quiere que el programador esté “protegido”, evitando errores antes de que ocurran.
- C++ dice: “Te damos libertad total. Pero úsala con cuidado”.
Ambos enfoques tienen ventajas. Rust es más seguro, pero puede ser difícil para principiantes. C++ es muy potente, pero también muy exigente.
¿Qué opina la comunidad?
El artículo de Babaei se ha compartido mucho en redes sociales y foros de tecnología. Algunas personas lo aplauden por su creatividad y humor. Otras dicen que es justo por cosas así que Rust es necesario.
Un comentario lo resumía muy bien:
“C++ es como una motosierra: poderosa, pero te puedes cortar si no sabes usarla”.
¿Qué podemos aprender de esto?
Más allá de la broma, hay algunas enseñanzas útiles:
- Los errores de memoria existen y pueden ser graves.
- Es importante usar herramientas para detectar y corregir esos errores.
- Hay que entender cómo funciona el lenguaje que usamos, y no solo copiar y pegar código.
- Aprender con humor puede ser una buena forma de no olvidar lo aprendido.
¿Y tú, de qué lado estás?
No hace falta elegir un bando. Rust y C++ pueden convivir. Cada uno tiene sus usos:
- Si estás creando un programa muy complejo donde un error puede costar caro (como en un coche autónomo), Rust puede ser más seguro.
- Si estás trabajando en algo que necesita el máximo rendimiento y sabes muy bien lo que haces, C++ sigue siendo una buena opción.
Lo importante no es si usas Rust o C++. Lo importante es saber qué estás haciendo, por qué lo haces y qué herramientas necesitas para hacerlo bien.
En resumen: Un ingeniero escribió un programa con errores a propósito para hacer una crítica divertida y reflexiva sobre cómo programamos hoy en día. Lo hizo para recordar que, aunque los lenguajes modernos como Rust ayudan mucho, todavía hay valor en aprender los fundamentos… aunque a veces nos equivoquemos en el camino.










