I would generally prefer C, but that’s more , I suspect, from habit. Rust has innate garbage collection.
I think of C as for when you need very low level efficient code, and C++ for when you need a *lot* of very efficient code all in one language. Rust covers almost all of the situations you would use C today, and a lot of the C++ cases as well. Go has some of the C++ cases, but it’s pretty similar to the C# or even Haskell cases.
But I haven't been wow'ed by any of the newer languages, Rust or Go among them, perhaps for the same reason that I haven't gotten around to learning Italian -- I don't have an application to write that demands it.
“Rust has innate garbage collection”
That’s expensive at execution time. Otherwise all languages would have it.
Shoot, I even dip into assembler from time to time whenever an interrupt handle must be really fast.
The main reason Rust was created is because of memory safety. With C and C++ you have to know how to code safely in order to write code that can’t be hacked. Rust supposedly makes your program much more resistant to being hacked.
Or so they say. I am not a coder, but I do play one on TV.