Rust&#x27;s memory management strategy has been described before as &quot;you have to think about it, but you don&#x27;t have to <i>worry</i> about it&quot;, which I think applies to the language more broadly in terms of a comparison vs. C++. The latter is very flexible and powerful, but generally assumes the programmer is perfect, meaning mistakes often won&#x27;t be caught at compile time and are often subtle to track down, while Rust has the assumption that humans are fallible, so many mistakes <i>are</i> caught. The fact that they&#x27;re caught means learning Rust front-loads a pile of things, because the compiler complains about them, which can easily make Rust seem more complicated despite the core concepts of ownership&#x2F;borrowing really being a subset of modern C++.