4 ms·
I disagree. Why is Fortran still a thing? technical debt Everyone I know in astrophysics or engineering who can uses something else--Python, C++, and Julia,
by xiii1408 8y ago
I disagree.
Why is Fortran still a thing? technical debt
Everyone I know in astrophysics or engineering who can uses something else--Python, C++, and Julia, are big winners.
The problem is that there are these huge monolithic codebases written in Fortran that are difficult to get out of using. People end up using Fortran because they need a hydrodynamics code, or a navier stokes solver, or a chemical kinetics code, but they can't justify building one from scratch--that's not how you get a Ph.D., and Ph.D. students and post docs are the people doing the brunt of this work.
There's also the added disincentive that even if you do re-implement a solver in a modern, maintainable way, then your results might disagree with previous published work--not necessarily because your results are wrong, but because the published work probably has bugs that no one has been able to discover or reason about because the code is so complex.
- yiyus 8y ago> Everyone I know in astrophysics or engineering who can uses something else--Python, C++, and Julia, are big winners. I know many other languages, but for engineering work I have started some projects in Fortran simply because it is a very good fit. Python is not fast enough, C++ is a huge mess, and Julia has just been released, it is not mature enough yet. You would be surprised of how many people are writing solvers from scratch. It is not the most common job in research, but it still is an active field. And your point about results mismatch is true, this is a very real problem, but independent of the programming language used. To give a concrete example, many people have reimplemented almost identical material subroutines for FEM packages and obtain different results, but this happens to people using Fortran and people using C++.