Previous | Table of Contents | Next |
by Walt Brainerd
For a programming language, Fortran has been around a long time. It was one of the first widely used high-level languages, as well as the first programming language to be standardized. It is still the premier language for scientific and engineering computing applications.
The first section of this chapter presents a brief history of the development and standardization of Fortran and the related languages HPF and F. Much of the material in this section has been adapted from The Fortran 95 Handbook (Adams, Brainerd, Martin, Smith, & Wagener, 1997) with permission from the authors. The remaining sections illustrate major features of the language, primarily by giving examples with accompanying explanations; much of this material has been adapted from the Programmers Guide to F (Brainerd, Goldberg, & Adams, 1996) with the permission of the authors.
1.1.1.1. Initial Development of Fortran
In 1954, a project was begun under the leadership of John Backus at IBM to develop an automatic programming system that would convert programs written in a mathematical notation to machine instructions for the IBM 704 computer. Many were skeptical about the success of the project because, at the time, computer memories were so small and expensive and execution time so valuable that it was believed necessary for the compiled program to be almost as efficient as that produced by a good assembly language programmer.
This project produced the first Fortran compiler, which was delivered to a customer in 1957. It was a great success by any reasonable criterion. The efficiency of the code generated by the compiler surprised even some of its authors. A more important achievement, but one that took longer to realize, was that programmers could express their computations in a more natural way. This increased productivity and permitted the programmer to write a program that could be maintained and enhanced more easily than an assembly language program.
About one year after the introduction of the first Fortran compiler, IBM introduced Fortran II. One of the most important changes in Fortran II was the addition of subroutines that could be compiled independently. Thus, Fortran changed substantially even during its first year; it has been changing continually ever since.
1.1.1.2. Standardization
By the early 1960s, many computer vendors had implemented a Fortran compiler. They all included special features not found in the original IBM compiler. These features usually were included to meet the needs and requests of the users and thus provide an inducement for the customer to buy computer systems from the vendor providing the best compiler. Because the language was young, a special added feature could be tested to see if it was a good long-term addition to the language. Unfortunately, the profusion of dialects of Fortran prevented programs written for one computer from being transported to a different computer system.
At about this time, the American Standards Association (ASA), later to become the American National Standards Institute (ANSI), began a project of standardizing many aspects of data processing. Someone had the daring idea of standardizing programming languages. A committee, which became X3J3 and is now J3, was formed to develop a standard for Fortran. This standard was adopted in 1966; after the adoption of Fortran 77, it became known as Fortran 66 to distinguish the two versions.
The language continued to develop after 1966, along with general knowledge in the areas of programming, language design, and computer design. Work on a revision of Fortran 66 was completed in 1977 (hence the name Fortran 77) and officially published in 1978 (ANSI, 1978; Brainerd, 1978). The most significant features introduced in this version were the character data type, the if-then-else construct, and many new input/output facilities, such as direct access files and the open statement. Except for the character data type, most of these features had been implemented in many compilers or preprocessors. During this revision, Hollerith data was removed because the character data type is a far superior facility. Although this idea of removing features did not seem controversial when Fortran 77 was introduced, it proved to be controversial laterso much so that no Fortran 77 features were removed in Fortran 90.
Fortran 77, developed by X3J3, was an ANSI standardan American National Standard. At about this time, the International Standards Organization (ISO) began to mature in the computing language area and adopted Fortran 77 as an international standard; the ISO standard was identical to the ANSI standard and in fact consisted of one page that referenced the ANSI standard.
As soon as the technical development of Fortran 77 was completed, X3J3 and its ISO counterpart WG5 (SC22/WG5) teamed up for the next revision, which was called Fortran 90. Fortran 90 was an ISO standard first, which the U.S. adopted, word for word, as an ANSI standard. Although X3J3 did the technical work on Fortran 90 and produced the standard document, the torch had been passed regarding the owner of the Fortran standard; that owner, for Fortran 90 and forevermore, is ISO.
Previous | Table of Contents | Next |