> Genuinely curious, how will you get someone to understand what ownership helps avoid without them having experienced the pain on the other side?
This is an eternal debate about Rust. I don't think it's required though. Can you appreciate functions without understanding assembly and calling conventions? I believe the answer is yes :)
I actually find that people who aren't that familiar with programming are pretty quick to accept the idea that aliasing xor mutable is an okay rule... not because it's been exhaustively explained, but just because people have no real expectations at all about how things should work when they're starting out. A lot of language rules seem arbitrary at that point. Afterwards, when using other languages, they may even find it surprising that you can mutate stuff without this rule... it's all about what you're used to.
From someone who is self taught and learned C as a second language, is teaching rust at this stage a great idea? there is a lot of news about rust lately and it very much seems like people are seeing rust as a hammer and the world as nails.
I don't know. To be honest, having taught a lot of programming stuff, I don't think there is any one best approach to learning programming, and it's very hard to figure out what will be easy or hard for someone just learning. People also learn languages for different reasons--for many people, for example, the main reason they're learning is to get a job in the industry, and if that's the case learning Rust is not really a good idea regardless of any of that stuff, since there aren't that many Rust jobs compared to, say, Python or JavaScript jobs.