4 ms·
> There is also the possibility of limited success for Rust, i.e. the fact that it will kill C/C++ (which is inevitable), but fail to kill JavaScript and Java/G
by tasogare 6y ago
> There is also the possibility of limited success for Rust, i.e. the fact that it will kill C/C++ (which is inevitable), but fail to kill JavaScript and Java/Go/C#.
This is the most probable issue. Rust doesn’t offer anything new or useful for a C# developer, yet have quite a number of drawbacks. Memory safety? Heck, this is exactly what the CLR is about, hence the usual name of "managed code".
- devit 6y agoRust offers data-race freedom and in general correct concurrency (e.g. it's impossible to access mutex-protected data if you don't hold the mutex), correct handling of objects and invariant preservation due to shared xor mutable (e.g. can't pass an array to a constructor that stores it in a field, and then modify the array in unrelated code that kept a reference, breaking the class invariants), better exception safety since exception propagation is explicit, a macro system, deterministic finalization, no GC latency, reduced memory utilization, better code generation, better cross-platform support, ability to produce lighter C ABI dynamic libraries. Rust doesn't really have fundamental drawbacks other than the fact that there are more ways to store and refer to data (e.g. owned, borrowed, boxed, reference-counted, etc.) and thus you need additional code where you want to support more than one of them. Of course there are ecosystem differences and learning curves.