Earlier quoted context omitted.
We better get this sorted out before open source manned Mars missions. That all programming languages, down to statically typed assembly, don’t support something as simple to validate as unit consistency says something strange about how the science of replacing unreliable manual processes with automated systems is really bad at the practice of replacing its own risky manual processes with automated systems. If numeri…
Some languages do; F# and Ada have units. I agree no sexy languages have it, and almost all languages have terrible support or anti-support for correctness in numerical programming. It's very strange. (By anti-support I mean things that waste your time and make it harder. For instance, a lot of languages think "static typing" means they need to prevent you from doing `int a,b; short c = a * b;` even if this is totall…
Swift has units as part of the standard library. In the sense that matters here, Rust and C++ could also have units. It requires a level of expressiveness in the type system that most modern languages do have, if you put it to use.