3 ms·
GC-less languages would have to break backward compatibility to implement lifetime/ownership management. Rust's goals do not fit every single problem out there
by linkdd 4y ago
GC-less languages would have to break backward compatibility to implement lifetime/ownership management.
Rust's goals do not fit every single problem out there. As the author said in their articles, Rust is not a general purpose language.
Rust makes you care about many subjects that are solved in an opiniated way by higher-level languages. It wants you to be explicit about those problematics, it wants you to carefully consider the implications and make your own decisions. Rust made me realize that nothing is trivial: even `printf()` can fail.
Certainly, this is not a good fit for the "don't be afraid to break things" philosophy.
But when you are in a field where you care about that, and you need the safety, Rust is actually, to my knowledge, the only tool that can help you.
Rust is complex, because programming is complex. Other languages are simpler, because the decisions have been made for you, and you can only accept it or use another language.
For C and C++, you need extra tools to get to the same level of confidence about your code (just look at the SQLite toolchain/test suite).
You can criticize Rust, just like you can criticize anything. You just have to be constructive about it.
You'll never see the following comment being upvoted:
Rust syntax is rotten garbage, it's unreadable.
Why? Because it's subjective, it is definitely not constructive.
But the following comment might be upvoted:
Rust is a complex language that is difficult to approach for a newbie.
Because it acknowledges the problems Rust is trying to solve.
None of those hypothetical comments are praising Rust.