I still understand the argument of the C greybeard to Rust knowledge gap though.
The patterns that Rust enforces are usually good practice in concurrent C programs, too. Of course, there are things that you can express in C which Safe Rust would not allow - but the same is true for Assembly language. And this alone is little reason to use Assembly.





I think at the lowest level, it is very similar.
But with a bit more abstraction, Rust is somewhat less verbose, especially when the same efficiency is required. Thinking im iterators / loops or generics, or enumerations / sum types. Also, the module system, build system, integrated unit tests, and compiler messages are huge gains for productivity.