3 ms·
It is of course a combination of all these aspects. A type system that can express thread safety (Send/Sync traits) is incredibly valuable when building multi-
by pornel 4y ago
It is of course a combination of all these aspects.
A type system that can express thread safety (Send/Sync traits) is incredibly valuable when building multi-threaded systems.
Universal definition of what is safe, and standard traits and borrowing rules, make APIs more predictable. Just from function's signature you know a lot about its behavior, without having to look for gotchas in the manual.
Mandatory error handling prevents cutting corners. Unit testing is built-in.
Generics, good inlining, and Cargo help split code into libraries without a performance or usability hit, which helps make focused, well-tested components.
Most of these things aren't groundbreaking, but Rust being new had a luxury of picking current best practices and sensible defaults.