As you probably know, one of the most trending programming languages in recent years is Rust. You’ve likely heard it promises C-like performance with a more friendly syntax, similar to Java, TypeScript, or Python. Sounds great, right?
But as you might also know, not everything is that perfect: concepts like ownership and the borrow checker make the learning curve a bit steeper, especially if you come from higher-level languages, like I do. Still, over the past few months, I decided to give Rust a try and see what the real experience of working with it is like. Here are my takeaways:
🧑🏫 The compiler: a strict but fair coach
Rust’s compiler is like that tough coach who has a very specific way of doing things, but also gives you every tool you need to get better.
I’ve been playing basketball for nearly 20 years, and those were the coaches that helped me grow the most. Well, Rust feels the same: the compiler catches everything, sure, but it also tells you why, and often even how to fix it.
🛠️ The tooling is fantastic
Cargo, rustfmt, clippy... Rust comes with an ecosystem of tools that cover exactly what you need. Cargo.toml
is simple—less verbose than Maven but more complete than Go’s minimalist approach.
Everything is designed so you can organize things properly from day one. The fact that it comes with a built-in linter and formatter is a huge win.
🧠 Ideal for DDD and strong domain models
Rust feels very natural when working with domain-driven design. Algebraic types, static and strong typing, and the demanding compiler help you model the domain well and prevent invalid states.
When it comes to refactoring, this robustness really shines. It’s not necessarily faster to refactor, but it feels more reliable. That’s something I don’t always get with, say, Python.
💡 Lightweight and efficient
One of the reasons I started using Rust was because I needed a lightweight dev environment. And, well... Java and Spring Boot don’t really fit that definition 😅. If you want a smooth Spring Boot setup, you’re usually running IntelliJ, Docker with a container or two... and with just 16GB of RAM, especially under WSL, it gets rough.
That’s when I started playing with Rust (and Go as well). I love both, but when your project has a complex domain, Rust offers more powerful tools. I tend to save Go for simpler use cases. Also, Rust is compiled, and while build times can grow with your project, its CPU and RAM usage is super efficient. In resource-constrained environments, that translates to lower infrastructure costs.
🤯 And the infamous borrow checker?
Ownership and the borrow checker were new concepts for me too. I had a bit of a background from tinkering with C++, but no real experience. And yeah, it does have a learning curve… but it wasn’t the nightmare I’d read about in other posts.
Plus, with tools like Copilot, Cursor, ChatGPT, Gemini, etc., it’s way easier these days. If you’ve got a solid programming foundation, AI helps speed things up a lot. And the nice thing is, since Rust is so strict, AI assistants also have less room to silently break your code. As long as you’re not blindly copying everything (no vibe coding!), you can move surprisingly fast.
It’s like thinking: “I’m coding fast... in a language that’s already fast.” Best of both worlds.
🚀 Loco.rs: Ruby on Rails, but in Rust 🤯
Loco is like having Ruby on Rails in Rust. If you don’t mind committing to a predefined architecture and want to prototype quickly, Loco is awesome. Need a CRUD or MVP? With just a few commands and some familiarity with Rust and RoR, you’ll have something running in no time.
🎯 Some downsides (because nothing’s perfect)
- It can be more verbose than Python or TypeScript.
- It’s pretty opinionated about how to do certain things.
- Even though it doesn’t need a heavy IDE, the most-used LSP, rust-analyzer, can use quite a bit of RAM. It works with 8–16GB, but just keep it in mind.
- Asynchronous programming in Rust has its own complexity (though Java isn’t exactly simple either).
- The community is growing, but it’s not as mature as JavaScript, Java, or Python. That shows in the number of job offers, at least here in Spain.
So... is it worth it?
Rust isn’t a Swiss army knife of programming languages, but it is a very powerful tool. It offers a great development experience, lets you build CLI apps, backends, desktop software, even mobile apps (with Tauri, which looks really promising), and it’s resource-efficient.
And if you combine it with AI as an ally, the learning curve becomes a lot more manageable.