Steve Lionel, commonly known as “Doctor Fortran” made a convincing argument this week for why the 54 year-old language is still relevant—and why it just doesn’t get the respect it deserves.
To counter the myth that Fortran is the Latin of the programming world, Lionel points to a few new applications that have been written in Fortran, including hurricane weather forecasting applications like the Weather Research and Forecasting Model (WRF) which is written mostly in the venerable language. He also points to PAM-CRASH, an auto crash simulator as a prime example that stands out, claiming that in HPC, there are many valid, fresh uses for Fortran.
He admits that indeed, there are not a large number of applications in Fortran and that indeed, 20 years ago there were far more uses for it. Still, he says it isn’t fading completely even though there are, as he says, “a lot of C and C++ that that is more appropriate for certain things than Fortran is like string processing.
That aside, he says, “if you’re doing number crunching, working with a lot of floating-point data, or doing parallel processing, it’s an excellent choice. Its strengths in array operations — its wide variety of routines — make it attractive, and there is a huge library of freely available high-performance routines written over 40 years that still work together.”
Lionel looks to the strengths of Fortran in comparison to other languages, noting that Fortran 2008 has built-in parallel programming capabilities that no other languages have. He says, “Other languages have parallel programming features, but Fortran incorporated modern parallel programming in ways that non of the other languages have.” He points to a “an incredible body of well-written and well-debugged routines” in Fortran that are still open for reuse.
According to Lionel, just because the language is venerable, it doesn’t mean that it hasn’t changed over time. He points to a series of updates, including one just last year, claiming that new capabilities are being added constantly in response to the desires of programmers looking for vendor extensions and other features that became popular in other languages.