Others have left out one major consideration. To port
a *large* Fortran code to C requires considerable effort.
More so if you're intending to be competitive in speed.
C can (hypothetically, if you use C99) be written to match
the speed of Fortran, but it takes care and patience. For the
same effort, you can train lots of Fortran maintainers and
pay them the cost of maintenance for decades. By that time,
no engineers will be trained in C (or even C-like languages,
Java and the like) and you would be having this same discussion
about converting to the next language.
Note that this is true of most legacy programs in any language.
It is seldom cost effective to recode into another language
unless support for the first actually disappears completely.
People sometimes complain of the cost of maintaining legacy
code, but it's cheaper than the cost of rewriting code: that's
why legacy code continues to exist.
--
J. Giles
|