[Next] [Up] [Previous] [Next Section] [Home] [Other]

FORTRAN: A Historical View

FORTRAN was not the first compiled language for a computer system, but it was considerably more influential than its predecessors. BASIC and ALGOL, for example, cannot but be regarded as direct descendants of FORTRAN.

John W. Backus, the person chiefly responsible for FORTRAN, is said to have once said that he did not know what the scientific computing language in use in a few decades would be like, but he knew what it would be called: FORTRAN. And it is true that FORTRAN has changed and developed over the years that it was in existence.

The name FORTRAN, of course, stands for FORmula TRANslation.

Here, then, is a series of pages recounting the development of FORTRAN over the years, in its various versions.

Background

FORTRAN was devised only a few years after assemblers started to be used to simplify the process of programming computers in their native machine languages.

Even in the very early days of computers, the advnatages of making it easier to program computers through the use of a more natural programming language were obvious. In those early days, however, when vacuum tubes were used to build the logic elements of computers, computer time was very expensive, and so if using a higher-level language to solve a problem was more expensive than taking the extra effort to do it in assembly language, a higher language would not be used.

Among the higher-level languages which preceded FORTRAN were MATH-MATIC and FLOW-MATIC, from Univac, BACAIC, from Boeing, and the Lanning and Zieler system. The book Programming Languages: History and Fundamentals by Jean C. Sammet is an excellent source of information about the history and development of higher-level languages for computers.

FORTRAN overcame the skepticism about higher-level languages, and became successful, because its first implementation was the world's first optimizing compiler.

The FORTRAN IV compiler for the 7090 was not an optimizing compiler, and so to obtain optimized code one had to use the FORTRAN II compiler for that machine instead. This resulted in some people blaming the FORTRAN IV language for the inefficiency of the resulting code.

Later, with the IBM System/360 computer, one had the choice of using either the FORTRAN IV Level G compiler, which was not optimizing, or the FORTRAN IV Level H compiler, which was. In that way, the time spent compiling a program which was only going to run once, and not for a long time, could be minimized by using the non-optimizing compiler, and run time could be minimized for programs that would do a lot of work by using the optimizing compiler.

WATFOR and WATFIV were later developed for the IBM System/360 at the University of Waterloo; these were very fast compilers that quickly produced object code of relatively mediocre quality without optimizations; this was ideal for allowing students learning to program in FORTRAN to write short programs and run them on the computer with a minimal total use of resources. Students learning to program in ALGOL 60 could use ALGOLW, written by Niklaus Wirth, who later developed the programming language Pascal. (Pascal was originally devised as an alternative successor to ALGOL 60, as that language's official successor, ALGOL 68, was a very ambitious project, stretching the technology of the time.)

Copyright (c) 2007 John J. G. Savard


[Next] [Up] [Previous] [Next Section] [Home] [Other]