Rust's Culture of Semantic Precision
29 points by isuffix
29 points by isuffix
The Rust community’s desire for precise semantics, in the long run, leads to more robust software systems
I'm about 80-90% convinced that this kind of precision is useful when reading code, after having seen just how clearer code can get when introducing more specific types instead of reusing general ones everywhere (related concepts: boolean blindness + variants of it extended to Option/Maybe/integers/strings).
However, I'm having trouble coming up with actual evidence/concrete examples in favor of the "robust software systems" point (assuming "robust" as "not ~failing at execution time", which is different from "robust" as "can deal gracefully with maintainers changing over time"). Most notably, SQLite is probably one of the most robust databases in existence and it is written in C, and takes inspiration from Tcl for its flexible typing (yes, I know this can be turned off nowadays).
My current operating hypothesis is that while fine-grained type design provides local reasoning benefits, robustness being a whole-system property is (most likely) more closely linked to test coverage than type design.
As another example, internet outages among large-scale cloud providers tend to have some recurring patterns like configuration changes that were (in hindsight, sometimes) deemed to be lacking sufficient test coverage, as well as saturation. It seems more conceivable that future developments in testing can help reduce the risk of these kinds of issues, moreso than type system advancements.