Concepts of Programming Languages

(Sean Pound) #1

2.3.5 Fortrans IV, 77, 90, 95, 2003, and 2008


A Fortran III was developed, but it was never widely distributed. Fortran IV,
however, became one of the most widely used programming languages of its
time. It evolved over the period 1960 to 1962 and was standardized as For-
tran 66 (ANSI, 1966), although that name was rarely used. Fortran IV was an
improvement over Fortran II in many ways. Among its most important addi-
tions were explicit type declarations for variables, a logical If construct, and
the capability of passing subprograms as parameters to other subprograms.
Fortran IV was replaced by Fortran 77, which became the new standard
in 1978 (ANSI, 1978a). Fortran 77 retained most of the features of Fortran IV
and added character string handling, logical loop control statements, and an
If with an optional Else clause.
Fortran 90 (ANSI, 1992) was dramatically different from Fortran 77. The
most significant additions were dynamic arrays, records, pointers, a multiple
selection statement, and modules. In addition, Fortran 90 subprograms could
be recursively called.
A new concept that was included in the Fortran 90 definition was that of
removing some language features from earlier versions. While Fortran 90 included
all of the features of Fortran 77, the language definition included a list of con-
structs that were recommended for removal in the next version of the language.
Fortran 90 included two simple syntactic changes that altered the appearance
of both programs and the literature describing the language. First, the required
fixed format of code, which required the use of specific character positions for spe-
cific parts of statements, was dropped. For example, statement labels could appear
only in the first five positions and statements could not begin before the seventh
position. This rigid formatting of code was designed around the use of punch cards.
The second change was that the official spelling of FORTRAN became Fortran.
This change was accompanied by the change in convention of using all uppercase
letters for keywords and identifiers in Fortran programs. The new convention was
that only the first letter of keywords and identifiers would be uppercase.
Fortran 95 (INCITS/ISO/IEC, 1997) continued the evolution of the lan-
guage, but only a few changes were made. Among other things, a new iteration
construct, Forall, was added to ease the task of parallelizing Fortran programs.
Fortran 2003 (Metcalf et al., 2004), added support for object-oriented pro-
gramming, parameterized derived types, procedure pointers, and interoper-
ability with the C programming language.
The latest version of Fortran, Fortran 2008 (ISO/IEC 1539-1, 2010) added
support for blocks to define local scopes, co-arrays, which provide a parallel
execution model, and the DO CONCURRENT construct, to specify loops without
interdependencies.

2.3.6 Evaluation


The original Fortran design team thought of language design only as a nec-
essary prelude to the critical task of designing the translator. Furthermore,
it never occurred to them that Fortran would be used on computers not

2.3 The IBM 704 and Fortran 45
Free download pdf