3 ms·
Don't get me wrong, I love Rust, but I think any programming beginner starting with Rust as a first language is pretty likely to fail. Ownership is a hugely im
by umanwizard 8y ago
Don't get me wrong, I love Rust, but I think any programming beginner starting with Rust as a first language is pretty likely to fail.
Ownership is a hugely important part of designing programs, and it's something people need to come to terms with eventually, but a language where you can't do even hello world without understanding ownership adds a lot of mental overhead to the learning process when someone is still not even comfortable with for loops and function calls.
- valarauca1 8y ago`cargo new $project_name` literally generates a hello world program so it is misleading to say you need to understand ownership to write `hello world`. That being said ownership is rather hard, but liberal usage of `.clone()` can get you pretty far.
- nickpsecurity 8y agoThat's a different subject entirely. Beginners should learn from resources teaching fundamentals, both primitives and patterns like abstraction/decomposition, using a simple language with minimal, incidental complexity. Once they grok that, my next recommendation is using another simple, but real-world, language like Python or Go with lots of code they can practice on. Read, modify, and debug. Then, with key skills, they can tackle hard stuff like C, C++, and Rust. Pyret at pyret.org is a good candidate since there's a group called Bootstrap successfully teaching it to middle schoolers. That's bootstrapworld.org. Far as Rust, Ill also note people exploring the language or doing quick-and-dirty coding can just use reference counting if they want. Rust supports that. There's a performance hit but that's probably fine in those use cases.