We all know and love Python and its ecosystem of libraries for scientific computing. Well known alternatives include Octave (Matlab), Wolfram, Julia, and R. These are all basically dynamically typed. Julia has the ability to optionally declare static types (as does Python BUT not meaningfully so inside the SciPy/Torch/Tensorflow ecosystems, at least as far as I can tell). So, fellow crustaceans, I have two related questions:
Is there something that looks more like a statically typechecked language that is good for scientific computing (in that people use it for real work, whether prototyping or not); and
Should I learn to stop worrying and accept that I can’t have a static checker catch mistakes in my code?
For those who will ask why I care, the answer is that I’m a scientific computing dilettante, and static checking helps me avoid mistakes.