|
Fortran remains one of the principal languages used in the fields of scientific, numerical,
and engineering programming, and a series of revisions to the standard defining successive
versions of the language has progressively enhanced its power and kept it competitive with
several generations of rivals.
Beginning in 1978, the technical committee responsible for the development of Fortran
standards, X3J3 (now PL22.3 but still informally called J3), laboured to produce a new, muchneeded
modern version of the language, Fortran 90. Its purpose was to ‘promote portability,
reliability, maintainability, and efficient execution. . . on a variety of computing systems’.
That standard was published in 1991, and work began in 1993 on a minor revision, known as
Fortran 95. Subsequently, and with the same purpose, a further major upgrade to the language
was prepared by J3 and the international committee, WG5. This revision, which included
object-oriented programming features, is now known as Fortran 2003. This has now been
followed by a further revision, Fortran 2008, and, once again, it seems appropriate to prepare
a definitive informal description of the language that it defines. This continues the series of
editions of this book – the two editions of Fortran 8x Explained that described the two drafts
of the standard (1987 and 1989), Fortran 90 Explained that described the Fortran 90 standard
(1990), two editions of Fortran 90/95 Explained that included Fortran 95 too (1996 and 1999)
and Fortran 95/2003 (2004), with its added chapters on Fortran 2003. In that final endeavour,
a third co-author was welcomed.
In this book, an initial chapter sets out the background to the work on new standards,
and the nine following chapters describe Fortran 95 (less its obsolescent features and the
redundant Fortran 77 features whose use we deprecate) in a manner suitable both for grasping
the implications of its features, and for writing programs. We include the allocatable array
extensions that were originally published as an ISO Technical Report and are now part of
Fortran 2003, since they have been implemented in Fortran 95 compilers for many years.
Some knowledge of programming concepts is assumed. In order to reduce the number of
forward references and also to enable, as quickly as possible, useful programs to be written
based on material already absorbed, the order of presentation does not always follow that of
the standard. In particular, we have chosen to defer to appendices the description of features
that are officially labelled as redundant (some of which were deleted from the Fortran 95
standard) and other features whose use we deprecate. They may be encountered in old
programs, but are not needed in new ones. |