From personal experience learning the language - despite its syntax, Rust inherits a lot of its concepts from OCaml and Haskell rather than C++ and Java. If you program stuff in Rust the same way that you would program it in C++, you're going to find yourself constantly fighting the borrow checker and having a rough time of it.