Discrete Dipole Approximation Code Ddscat 7.2 (2012)
arxiv.org
arxiv.org
Are we at the point yet where we might be able to replace some of these legacy Fortran libs with more modern, legible, performant Rust or C/C++?
It's an example of Chesterton's Fence.
Also with C99 you get many of the convenient aspects of fortran (<tgmath.h> and vardim array function args) and with C11 you also get <complex.h> now.
But you are still missing fortran's ** operator and it's more than just syntactic sugar, it accepts more types.
It is mostly out of habit. These days there are no differences between languages. Very often they compile to the same machine code. Fortran array syntax is light years ahead of what C++ offers (yes including std::linalg and that's why numpy, julia, matlab picked it up) but lacks everything else as a language including often claimed portability.