Subject: Will Fortran survive?

From: Clive Page <[email-masked]>
Date: Mon, 30 Oct 1995 13:51:16 +0000 (GMT)

I have just returned from a conference called "Astronomical Data Analysis
Software and Systems" which is held anually in North America and is the
world's principal forum for those designing and developing software for
use in astronomy.  The conference covers, besides data analysis, areas
such as modelling, simulation, optimal scheduling, real-time instrument
control and data acquisition, visualisation, and electronic publication.

>From the ~250 oral and poster papers given this year I have tried to
estimate which programming languages are in active use: my rough estimate
is that ANSI C accounts for more than half of the work, Fortran rather
less than a quarter, with the rest (maybe 20%) made up from a miscellany
(C++, IDL, Perl, Tcl, Lisp, Glish, etc.).  Many projects use more than
one language, of course.

Almost everyone still using Fortran77 is aware that it is antiquated and
obsolete, and is using it only for compatibility reasons; most C
programmers are also well aware of the limitations of C. The
object-oriented (OO) paradigm is of increasing interest, and many of us
(myself included) are now convinced that it is an excellent _design_
methodology. But actually programming using an "OO" language seems rather
more difficult and risky. As far as I could determine, every project
which had adopted C++ had run into serious problems, the larger the
project the more serious these seemed to be.  Many of the programmers
involved in projects which had chosen C++ were admitting, at least in
private, that they now wished that a more traditional programming
language had been chosen instead.  So there is considerable
dissatisfaction with all three major languages: C, C++, and Fortran77.

Despite this, there was only one paper which mentioned Fortran90 at all,
and that was from a European group. I spoke to many of those involved in
recently-started software projects and could find no-one outside of
Europe who was even considering Fortran90.  It seems clear that Fortran90
has most of the attributes required for the OO approach (e.g. abstraction
and encapsulation) and that the only significant feature missing is
partial inheritance (and this is, I think, one of the areas giving
problems in the C++ projects).  

Another worrying indicator: I see lots of C++ class libraries available
on the internet or advertised commercially, but I don't know of a single
case of a Fortran90 module library available, not even for ready money!
I know that C++ had a head start, but this still seems a significant
disparity.

My conclusion is that, among astronomers at least, Fortran90 is being
almost totally ignored except perhaps in Europe, where it is catching on
slightly.  I don't understand why this should be so, and would welcome
any evidence from other fields that Fortran90 is actually going to
survive.

Don't get me wrong, I'm an enthusiast for Fortran90 and have, I think,
persuaded my colleagues that we should adopt it for our next major
software development project.  But it looks to me as if we shall, in the
astronomical community, be almost alone in this.  Most of our work
involves national and international collaborations, and I don't like to
think that we are (choose your metaphor) ploughing a lonely furrow or
barking up the wrong tree.  

---
Clive Page,                         Internet: [email-masked]
Dept of Physics & Astronomy,        
University of Leicester,            
Leicester, LE1 7RH,  U.K.           

---------------------------------------------------------------------------
To (un)subscribe to this list, send mail to [email-masked].
Leave the subject line blank, and in the body put the line
(un)subscribe <email-address>
---------------------------------------------------------------------------