APPENDIX 4

Backward and Forward compatibility

Very important in the introduction of a new programming language standard is that old programs (at least those who obey the outgoing standard) can be used once again, with the new standard.

Backward

When we went from Fortran 66 to Fortran 77 the extended DO-loop was removed (the extended DO-loop means that if you do not change any of the DO-loop parameters you can jump out of the loop and then jump in again (this is somewhat contrary to the concept of structured programming). In addition Hollerith constants were removed (except in FORMAT). That means that there are some programs that obey Fortran 66 but do not obey Fortran 77. Most manufacturers have, however, chosen to let these two concepts be included as extensions in their Fortran implementations. For Fortran 90 nothing has been removed from Fortran 77. An interesting practical question is however manufacturers still continue to include those old things that really should have been thrown away when Fortran 77 came. It is permitted to have these old concepts as extensions.

There is one further incompatibilty between Fortran 66 and Fortran 77, which is related to assumed-size allocation of dummy arrays.

On the other hand, the concept "obsolescence" is introduced. This means that some constructs may be removed at the next change of Fortran. These constructs are:

Further information on obsolescence is available in Status of Fortran 95, which describes the present suggestions for the next standard. See especially the new list of deleted features and the revised list of obsolescent features.

Parallel extensions

A group "High Performance Fortran Forum" has worked at the development of an extension to Fortran 90 with parallel extensions. The purpose of this project is to offer a portable language which can be used efficiently on different parallel systems. The project was ready, with a complete proposal, in May 1993 and aims at a de facto standard (and not at a formal standard). See Appendix 8 for a summary.

Somewhat simplified you can say that Fortran 90 works effectively on vector processors but not on parallel processors.

Forward

Among the new things that are being considered for the next version of Fortran are improved parallel treatment, interrupt handling, parametrized data types, and data types with inherited properties. It is the aim of the committee to have a slight revision available in 1996, with some carefully chosen new properties.

In addition, a few corrections have been accepted earlier, especially some explanations of ambitious parts of the standard. An early version of these corrections appeared in a special issue of the Fortran Forum, Vol. 11, No. 1, March 1993, with the title "Fortran 90; Errata, Amendments, and Interpretations, progress to date". Some updates to this special issue appeared in No. 2, June 1993, page 1.

Two revisions have been officially adopted, see the official ISO page on Fortran 90.


Last modified: 30 March 1996
boein@nsc.liu.se