# Fortran 90/95 Explained (second edition) - М. Metcalf, J. Reid

Fortran has always been the principal language 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 called J3), laboured to produce a new, much-needed modern version of the language, Fortran 90. Its purpose is to "promote portability, reliability, maintainability, and efficient execution... on a variety of computing systems". The standard was published in 1991, and work began in 1993 on a minor revision, known informally as Fortran 95. Now this revised standard is in use, it seems appropriate to prepare a definitive informal description of the language 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), and Fortran 90 Explained that described the Fortran 90 standard (1990).
The whole of Fortran 77 is contained in Fortran 90, but certain of its features are labelled 'obsolescent' in the standard, and their use is not recommended. The obsolescent features of Fortran 90 have replacements in Fortran 77 and some have been removed from the Fortran 95 standard. Other Fortran 77 features, with replacements in Fortran 90, are labelled obsolescent in Fortran 95. We have відсилається the description of all these Fortran 77 features to Appendix C. They are falling into disuse and an understanding of them is required only when dealing with old programs.
In this book, an initial chapter sets out the background to the work on the new standards, and the ten following chapters describe Fortran 90/95 less the obsolescent features in a manner suitable for both grasping the implications of the new features, and for writing programs. Features that are available in Fortran 95 only are labelled as such. Where the word 'Fortran' is used, it means 'common to both Fortran 90 and 95'. Some knowledge of programming concepts, although not necessarily of Fortran 77, 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 the final chapter the description of features that are redundant in Fortran 90 and whose.