Wouldn’t that language be called “sound”? A “sound” language would guarantee no errors or surprises in types, memory access, or statement execution. It would need to be qualified though since it didn’t guarantee programs are sound (that implies error free), it only guarantees use of the language is sound.
“Safe” language also works, and is probably more understandable by the nontechnical decision makers, though it also needs a qualifier to understand what that means.
“Memory safe” is clear and explains one of the huge areas that it excels at. I would prefer “zero cost memory safety” myself, since that sets it apart from other memory safe languages that have extra costs (e.g. runtime checks). “Zero cost safety” is also fine, though I’d want an asterisk that clarifies what it applies to: memory, typing, and statement execution safety.
Wouldn’t that language be called “sound”? A “sound” language would guarantee no errors or surprises in types, memory access, or statement execution. It would need to be qualified though since it didn’t guarantee programs are sound (that implies error free), it only guarantees use of the language is sound.
“Safe” language also works, and is probably more understandable by the nontechnical decision makers, though it also needs a qualifier to understand what that means.
“Memory safe” is clear and explains one of the huge areas that it excels at. I would prefer “zero cost memory safety” myself, since that sets it apart from other memory safe languages that have extra costs (e.g. runtime checks). “Zero cost safety” is also fine, though I’d want an asterisk that clarifies what it applies to: memory, typing, and statement execution safety.
It’s not zero cost though, Rust adds a lot of bounds checks to keep it safe. That’s why there is stuff like
.get_unchecked
which makes it unsafe.