3 ms·
> [Made redundant by the compiler.] The compiler doesn't obviate the need to understand memory management. Anyone who doesn't understand ownership and borrowin
by catnaroek 11y ago
> [Made redundant by the compiler.]
The compiler doesn't obviate the need to understand memory management. Anyone who doesn't understand ownership and borrowing will have really hard time getting rustc to accept their code in the first place.
What Rust's type checker does is make up for the human inability to be perfectly careful. Even the most diligent programmer will make mistakes or forget something. (This is a fact of life. It can't be fixed with present-day technology.) Relative to C and C++, Rust enlarges the class of “stupid mistakes” that can be detected automatically, and this is always a good thing, no matter how knowledgeable and careful programmers are.
- Manishearth 11y agoWe've actually had feedback from some startups using Rust for low level stuff (where their teams comprise mostly of Python/Ruby/JS devs) that Rust teaches systems programming and memory management quite well (since you're forced to work with it), unlike C++.
- catnaroek 11y ago> Rust teaches systems programming and memory management quite well Couldn't agree more. Incidentally, this is also what I dislike so much about C: it does a very poor job of telling the programmer what is wrong with their program. Learning systems programming with C feels (to me, at least) like learning to walk by crawling in the dark.