Speaking about C, since I never went too deep into C++.<p>The original assertion was:<p>&gt; ...gives a developer more insight into the actual machine...<p>For better or worse, Rust feels like a reference is a proper abstraction over a memory location whereas C drives home that it really is just a number. Perhaps I don&#x27;t know Rust well enough but, without unsafe, I&#x27;m not sure how I would refer to an arbitrary memory location or use pointer arithmetic to access memory locations relative to a known memory location in Rust. Vector indexes in Rust appear to be more than just syntax sugar for addition whereas C allows both array[2] and 2[array]. And I know that Rust will prevent me from accessing memory that&#x27;s already been freed since it&#x27;s one of the selling points of the language.<p>Now you can argue that Rust is mostly saving you from unpleasant consequences, and you&#x27;d be right. But the fact that C forces you to understand those unpleasant consequences teaches you something about the nature of the underlying machine. C makes you realize just how much of a &quot;wild west&quot; situation exists at that level. It would be very easy for someone to learn Rust without being confronted with that fact.