Re: Is FORTRAN a dying language? (not a troll)

From: Hendrik van Hees (hees_at_comp.tamu.edu)
Date: 05/08/04


Date: Sat, 08 May 2004 10:30:15 -0500

Curious wrote:

> This is a serious question. Is FORTRAN a dying language?

I'm a physicist, working in theoretical heavy ion physics, to be precise
in quantum field theory at finite temperature and do many numerical
calculations, all in FORTRAN.

The main reason is that my thesis advisor some years ago, suggested to
use FORTRAN, because he uses it and if there are problems with
programming he could better help me. So I came to FORTRAN, although at
this time, when had freshly heard about modern computer languages
(Darmstadt in Germany has a good IT faculty). There all were telling us
that a programming language should be object oriented etc. etc.

Before I made my decision whether to use FORTRAN or not, I told with
some people around the lab, where I did my diploma and PhD thesis (GSI
in Darmstadt, the heavy ion facility in Germany) and there the most
people also used FORTRAN. A colleague who is really very good in
computing used a mixed code in C (for I/O) and FORTRAN (for the
numerics). Then he told me, recently he has ported everything to C++,
because now the C++ compilers are as good in producing good performing
numerics code as FORTRAN.

I use FORTRAN now, because I am used to it, I can use some routines, I
wrote before in new programs (also it would not be any problem to write
new code in C and link older FORTRAN code to it). Another reason is
that there are many numerical routines around which are written in
FORTRAN and can be used for my own work. For instance, at the moment, I
am calculating some integrals in quantum field theory, which are quite
difficult from the viewpoint of numerics, because they have some sharp
structures in the integrand, of which I do not know the precise
position. Until yesterday I used a own little adaptive routine, which
did a rather good job with nice results. But then it came to a problem
where I had to calculate not only 1-dimensional or 2-dimensional
integrals but 3-dimensional, and my very simple program became too
slow. It took not more than 10 minutes to find a very effective, freely
available adaptive integrator for exactly the task I had to solve
(dcuhre by Genz et al, if somebody knows something better, I'd
appreciate to hear about it :-)). It took only very little effort to
use this routine within my own code. So I think FORTRAN is not dying,
but it's used pretty much in our field of computing.

Another proof for this statement: In the mean time I also was a postdoc
in Bielefeld, where one of the leading experts in lattice gauge
theories are working. That's a highly challenging field for
computational physics, needing big high-performance computer clusters
and parallization, to solve Quantum Chromo Dynamics, the underlying
theory which explains what the atomic nuclei holds together. They also
use FORTRAN, but specialized to parallelizing code, running on machines
which itself are specialized to do these lattice calculations. So,
there is even some development of FORTRAN, although in this case for a
very specialized task.

I am not an IT expert, but I'd say the decision, you have to make, is
indeed more a question of usability, as you already mentioned. So most
important is not the technical question, which is the better language,
because I guess the performance of the binary code, coming from a
modern FORTRAN compiler is not better than one coming from a modern C
compiler anymore (this was the case some years ago, at least under the
GNU compiler family under Linux, concerning performance in "number
crunching").

The right question to ask is, who will use the code. Will you have the
source code available? Are you intending to use it in own software
development? What language are your engineers most familiar with
(although I think it is not a big problem to learn a new programming
language, because the really challenging subject is more to invent
efficient algorithms than to implement them in the one or the other
programming language, but it costs time to become familiar with a new
language, and I guess time is money)?

-- 
Hendrik van Hees                        Cyclotron Institute 
Phone: +1 979/845-1411                  Texas A&M University 
Fax:   +1 979/845-1899                  Cyclotron Institute, MS-3366
http://theory.gsi.de/~vanhees/          College Station, TX 77843-3366


Relevant Pages

  • Re: sin(x) for large x
    ... > Sine code for ANSI C ... > regarding the evaluation of the sin() function for large ... newsgroup that lays claim to all things right in numerics (chortle, ... current Fortran offerings. ...
    (comp.lang.fortran)
  • Re: Choice of programming language
    ... Fortran 90/95 rather than Fortran 77. ... yep agreed on that - i'm writing some linear algebra applications in java ... There are actually plenty of people who perform numerics in Java. ...
    (sci.math.num-analysis)
  • Re: Starting to doubt fortran
    ... For "numerical code" the difference between C and Fortran is only ... No compiler I'm aware of has array bounds checking turned on by ... I think it's particularly pointers what makes C so ... I think that it is practical for numerics to know both C and Fortran ...
    (comp.lang.fortran)
  • Re: How old is the average Fortran programmer?
    ... Can Fortran compilers output DLLs? ... libraries such as Blitz++ or uBLAS. ... This is IMHO the main reason Fortran is still alive - no language has ... at numerics. ...
    (comp.lang.fortran)
  • Re: Release 1.1 (beta) of my AES implementation
    ... >> In all the heavy numeric cases I've personally seen, Fortran alway beat C ... >> language and Fortran is slanted toward numerics. ... pointers will of course also modify the value to which the ... This is nasty for the compiler. ...
    (sci.crypt)