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.
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
features and the revised list of
- Arithmetic IF-statement
- Control variables in a DO-loop which are floating point or
- Terminating several DO-loops on the same statement
- Terminating the DO-loop in some other way than with
or END DO
- Alternate return
- Jump to END IF from an outer block
- ASSIGN and assigned GOTO and assigned FORMAT ,
that is the whole "statement number variable" concept.
- Hollerith editing in FORMAT.
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.
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
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