Basic modern C++ is easier than Rust at this point. It’s not as safe (std::shared_ptr is not your friend), but it’s easier to get going vs dealing with lifetimes and Rustic syntax. I feel like at this point Rust has inherited all the syntax diarrhea of C++ and makes me adverse to using it. I don’t want to wrestle type system crap when I’m trying to wrestle app features. Some things I love. A few things I hate. Those things I hate make me use another language. A lot of rust is inferred through use so why bother with the extra cognitive load of having to unwrap or box or ‘a or worse ‘static. Zig isn’t better in this area either, requiring allocators for everything. Go is great but it’s a bit
too simple and not fast enough for Rust-like workloads. This is me with a sad face because while I applaud the effort to build modern languages and tooling, we still haven’t addressed the issue of syntax elitism and shame-by-code-review because someone didn’t know about macro meta. I just want to code, have my program work, and not have to master 4th-degree black belt syntax grammar to do it. I think any language or runtime that allows one to write 4th-degree black belt syntax grammar should be shunned for simpler terms. Imagine the quality of software we would produce with a simpler type system. This was the goal of Go but it still needs work on language features for me (I really really want operator overloading on structs using + - * and / instead of methods).
C++ is by far the most Wild West, the most gotcha, the most “do as I say but not as I do”, the most “yes, except if” language ever. From 98-today, it’s just gotten more and more bloated with alternative pathways and acid pits.
I’m hopeful for Rust. Equally so for Zig. My opinions mean shit and in the end, the Rust team will evolve Rust beyond what they originally intended, capturing dev attention and pushing Rustic concepts outwards. Such as they all have the last 15 years.