I've been using it for 2 years now and I can't see any loss in productivity. Once you get used to the patterns rust and the BC force upon you, it's just as productive as C++ (for me). But you have to get up to speed and that's a significant effort (took about 6-12 months for me).
I can't say much about the ecosystem besides it lacks something in the desktop GUI department (I use egui, it's really good, but just it's not strong enough). So, yeah, sometimes you miss a library and that can hurt productivity.
But the protections against memory and thread issues really help productivity though: I tend to make lots of mistake in these area and rust helps to to prevent many of them.
> Once you get used to the patterns rust and the BC force upon you, it's just as productive as C++ (for me)
Well, it makes sense as both are low-level languages. Hell, one might even argue that Rust is “nothing more” than C++’s RAII made into a compiler-enforced primitive.
But C++ is not considered a high-productivity language to begin with, at least not many would choose it for a regular old CRUD app.
I’ve also been using rust full time for the last couple of years after many years in the javascript / web ecosystem. I can’t speak to how it compares to C++, but I am still far less productive in rust than I am in typescript. I use rust for production systems, but prototype in typescript.
like me: for math-heavy or conceptual reflexion, I go to python to prototype things. Once proto is good, I port everything in rust. I don't know if it makes me overall more or less productive.
> I've been using it for 2 years now and I can't see any loss in productivity
While I am a big fan and all my personal projects are written in Rust, introducing Rust will likely paralyse entire teams for months, until they get used to the borrow checker. ORMs are quite clunky (at least Diesel) and web frameworks are not as user-friendly as ASP.NET MVC, and that’s 80% of what the average developer needs today.
We made a short-term decision to develop a new project in Rust only three months ago.
As we build vending machines and such things, our products usually contain multiple processors that communicate over various connections and there's a lot of interaction with real-world, physical things. Also, as there are a lot of microcontrollers involved, C and C++ are the dominant languages in our development.
So, a lot of our development time actually goes into solving the general unpredictiveness of the real world and humans interacting with actual machines.
Rust enables us to focus on solving those problems without getting held up by stupid memory issues. In our case, iterating over new software versions often is slow because it may involve restarting a big machine and doing actual user interaction with it – the time Rust takes before compiling is easily saved for us.
I can't say much about the ecosystem besides it lacks something in the desktop GUI department (I use egui, it's really good, but just it's not strong enough). So, yeah, sometimes you miss a library and that can hurt productivity.
But the protections against memory and thread issues really help productivity though: I tend to make lots of mistake in these area and rust helps to to prevent many of them.