Como ya sabrás, uno de los lenguajes más en tendencia en los últimos años es Rust. Seguro has escuchado que promete el rendimiento de C con una sintaxis más amigable, tipo Java, TypeScript o Python. Suena genial, ¿no?
Pero también sabrás que no todo es tan bonito: conceptos como ownership y el borrow checker hacen que la curva de aprendizaje sea un poco más pronunciada si vienes de lenguajes de alto nivel, como es mi caso. Aun así, estos últimos meses decidí darle una oportunidad a Rust y ver qué tal era la experiencia real trabajando con él. Estas son mis conclusiones:
🧑🏫 El compilador, el entrenador estricto pero justo
El compilador de Rust es como ese entrenador muy exigente, con una forma muy concreta de hacer las cosas, pero que también te da todas las herramientas para mejorar.
Llevo casi 20 años jugando a baloncesto, y estos han sido los entrenadores que más me han hecho crecer. Pues con Rust pasa algo parecido: el compilador te corrige todo, sí, pero también te explica el porqué y muchas veces hasta te sugiere cómo solucionarlo.
🛠️ El tooling es una maravilla
Cargo, rustfmt, clippy... Rust viene con un ecosistema de herramientas que cubre justo lo necesario. El Cargo.toml
es simple, sin la verbosidad de Maven pero más completo que el enfoque minimalista de Go.
Todo está pensado para que puedas organizarte bien desde el minuto cero. Que traiga su propio linter y formatter por defecto ya me parece un puntazo.
🧠 Ideal para DDD y dominio fuerte
Rust se siente muy cómodo cuando trabajás con diseño orientado al dominio. Los tipos algebraicos, el tipado estático y fuerte, y el compilador exigente te ayudan a modelar bien el dominio y evitar estados no representables.
A la hora de refactorizar, esta solidez se nota un montón. No digo que sea más rápido refactorizar, pero sí me da más confianza. Algo que con Python, por ejemplo, no me pasa tanto.
💡 Ligero y eficiente
Uno de los motivos por los que empecé con Rust fue porque necesitaba un entorno de desarrollo ligero. Y Java, bueno, Spring Boot... no entraba en esa definición 😅. Si quieres trabajar bien con Spring Boot, lo normal es tener IntelliJ, Docker con algún contenedor... y eso con 16GB de RAM se sufre, más aún si estás en WSL.
Ahí empecé a trastear con Rust (y con Go también). Ambos me encantan, pero si tu proyecto tiene un dominio complejo, Rust te da herramientas más potentes. Go lo reservo para casos de uso más sencillos. Además, Rust es compilado, y aunque la compilación puede volverse más lenta a medida que el proyecto crece, en uso de CPU y RAM es súper eficiente. En entornos donde los recursos cuentan, eso significa menor coste en infraestructura.
🤯 ¿Y el famoso borrow checker?
El borrow checker y el ownership fueron conceptos nuevos para mí también. Tenía alguna noción sobre manejar memoria por haber trasteado con C++, pero sin experiencia real. Y la verdad, sí tiene curva de aprendizaje... pero tampoco fue la pesadilla que leí en otros posts.
Además, con herramientas como Copilot, Cursor, ChatGPT, Gemini, etc., hoy en día se lleva bastante mejor. Si tienes una buena base de programación, la IA te acelera muchísimo. Y lo bueno es que, al ser Rust tan estricto, incluso las IA tienen menos margen para "romperte" algo sin darte cuenta. Sin caer en el vibe coding, siendo responsable con el código que generás, se puede ir muy rápido.
Y es como pensar: “Estoy programando rápido... en un lenguaje que ya de por sí es rápido”. Lo mejor de los dos mundos
🚀 Loco.rs: Ruby on Rails, pero en Rust 🤯
Loco es como tener Ruby on Rails pero en Rust. Si no te molesta casarte con una arquitectura predefinida y quieres prototipar algo rápido, Loco es brutal. ¿Necesitás un CRUD o un MVP? Con unos cuantos comandos y algo de experiencia con Rust y RoR, ya lo tienes funcionando.
🎯 Algunas contras (porque no todo es perfecto)
- A veces puede ser más verboso que Python o TypeScript.
- Tiene una forma muy opinionada de hacer ciertas cosas.
- Aunque no necesita un IDE pesado, el LSP más utilizado, rust-analyzer a veces consume bastante RAM. Con 8–16GB se puede trabajar, pero ojo ahí.
- El manejo de asincronía en Rust tiene su complejidad (aunque Java tampoco se queda atrás en eso).
- La comunidad es grande, pero no tan madura como JavaScript, Java o Python, y eso se nota en la cantidad de ofertas laborales (al menos en España).
¿Vale la pena entonces?
Rust no es la navaja suiza de los lenguajes de programación, pero sí es una herramienta muy poderosa. Tiene una excelente experiencia de desarrollo, permite hacer CLI, backend, desktop, incluso apps móviles (con Tauri, que tiene muy buena pinta) y es barata en términos de recursos.
Y si sumás la IA como aliada, la curva de aprendizaje se vuelve mucho más llevadera.