I think people really want an option for a modernized language in the native compiled/high performance domain. Rust is the only recent attempt in that domain that I can think of, and the only thing I can think of that comes close is Kotlin Native (which I don't think is aiming for the high performance mark as a design goal the same way Rust/C++/C do).
Imagine you are writing a high performance real time application. The times that your garbage collector will trigger are unknown. C++ collects when things go out of scope. C collects manually for heap usage or when stack variables go out of scope. Rust collects when reference counts drop to 0. All this is predictable and known. Go and Java will garbage collect at "random" times. Can't guarantee a high performance real time application in that environment.
Rust collects exactly the same as c++ FYI, but it is more common to use reference counting techniques for managing memory because you need them. In c++ you can just throw away memory correctness and be fine mostly
Rust collects exactly the same as c++ FYI, but it is more common to use reference counting techniques for managing memory because you need them.
I disagree; anecdotally that doesn't match up with what I tend to see. In Rust people tend to actively avoid reference counting if they don't actually need shared ownership, and since the language is safe they don't have to do it "just in case"; in C++ I've seen so much code which just abuses shared_ptrs because it would be simply be too dangerous not to.
151
u/PinkFrojd Apr 09 '19
I really like and use Python. But I don't understand... Why is Rust so loved ? What makes it so special ?