2 ms·
I am not at the numerical programming level of most folks in this thread but have written useful numerical software in Python, Julia, Fortran, Java, C#, C++, an
by cashsterling 3y ago
I am not at the numerical programming level of most folks in this thread but have written useful numerical software in Python, Julia, Fortran, Java, C#, C++, and Matlab.
My 0.02 is that Julia is awesome... if I was starting a new numerical project from scratch, I'd pick Julia 100% unless there was a very compelling reason to use another language (e.g. to interact with a legacy system). There are some Julia libraries that are so insanely good, like SciML/DiffEq, that I use Julia just to use those libraries (because I'm not smart enough to re-implement that stuff in some other language).
That being said, Python has a sufficiently good ecosystem that it's a sane choice for scientific programming where all out speed (or multi-node parallel computing) is not the top priority. Python with Numpy/Numba, RAPIDS and/or JAX can be very fast and it is very easy to write concise and fast programs this way. The code quality of RAPIDS and JAX are very high too and documentation is solid.
I'd also offer that Chapel and Rust belong in the "HPC/super-computing capable" pantheon of programming languages.