Professional Documents
Culture Documents
1058 A Brief History of Fortran 77 Marshall 1996
1058 A Brief History of Fortran 77 Marshall 1996
The standard definition of Fortran was updated in the late 1970's and a new standard, ANSI X3.9-1978, was
published by the American National Standards Institute. This standard was subsequently (in 1980) adopted by
the International Standards Organisation (ISO) as an International Standard (IS 1539 : 1980). The language is
commonly known as FORTRAN 77 (since the final draft was actually completed in 1977) and is the version of the
language now in widespread use. Compilers, which usually support a small number of extensions have, over the
years, become very efficient. The technology which as been developed during the implementation of these
compilers will not be wasted as it can still be applied to Fortran 90 programs.
The venerable nature of Fortran and the rather conservative character of the 1977 standard revision left
FORTRAN 77 with a number of old-fashioned facilities that might be termed deficiencies, or at least infelicities.
Many desirable features were not available, for example, in FORTRAN 77 it is very difficult to represent data
structures succinctly and the lack of any dynamic storage means that all arrays must have a fixed size which can
not be exceeded; it was clear from a very early stage that a new, more modern, language needed to be developed.
Work began in early 80's on a language known as `Fortran 8x'. (`x' was expected to be 8 in keeping with the
previous names for Fortran.) The work took 12 years partly due to the desire to keep FORTRAN 77 a strict subset
and also to ensure that efficiency (one of the bonus's of a simple language) was not compromised. Languages
such as Pascal, ADA and Algol are a treat to use but cannot match Fortran for efficiency.
Fortran 90 is a major development of the language but nevertheless it includes all of FORTRAN 77 as a strict subset
and so any standard conforming FORTRAN 77 program will continue to be a valid Fortran 90 program. The main
reason for this is due to the vast amount of so-called `dusty deck' programs that litter Scientific installations all
over the world. Many man-years have been put into writing these programs which, after so many years of use
(that is in-the-field testing), are very reliable. Most of the dusty deck codes will be FORTRAN 77 but there are
doubtless many lines of FORTRAN 66 too.
In addition to the old FORTRAN 77 constructs, Fortran 90 allows programs to be expressed in ways that are more
suited to a modern computing environment and has rendered obsolete many of the mechanisms that were
appropriate in FORTRAN 77. Here, we have tried to present an approach to programming which uses the new
features of Fortran 90 to good effect and which will result in portable, efficient, safe and maintainable code. We
do not intended to present a complete description of every possible feature of the language.
https://www.mrao.cam.ac.uk/~pa/f90Notes/HTMLNotesnode5.html 1/2
11/4/23, 9:40 A Brief History of FORTRAN 77
In Fortran 90 some features of FORTRAN 77 have been replaced by better, safer and more efficient features, many
of these are to be removed from the next interim revision of the language -- Fortran 95 although it is expected
that many compilers will still support them as `extensions'. Tools exist to effect automatic removal of such
obsolescent features, examples of these are (Pacific Sierra Research's) VAST90 and (NA Software's) LOFT90 In
addition, these tools perform differing amounts of vectorisation (transliteration of serial structures to equivalent
parallel structures).
As the Fortran 90 standard is very large and complex there are (inevitably) a small number of ambiguities /
conflicts / grey areas. Such anomalies often only come to light when compliers are developed. Since
standardisation many compilers have been under development and a number of these anomalies have been
identified. A new standard, Fortran 95, will recitify these faults and extend the language in the appropriate areas.
In the last couple of years the Fortran 90 based language known as High Performance Fortran (HPF) has been
developed. This language contains the whole of Fortran 90 and also includes other desirable extensions.
Fortran 95 will include many of the new features from HPF , [4].
https://www.mrao.cam.ac.uk/~pa/f90Notes/HTMLNotesnode5.html 2/2