Tuesday, March 19, 2013

FORTRAN IV and FORTRAN 66


Starting in 1961, as a result of customer demands, IBM began development of a FORTRAN IV that removed the machine-dependent features of FORTRAN II (such as READ INPUT TAPE), while adding new features such as a LOGICAL data type, logical Boolean expressions and the logical IF statement as an alternative to the arithmetic IF statement. FORTRAN IV was eventually released in 1962, first for the IBM 7030 ("Stretch") computer, followed by versions for the IBM 7090 and IBM 7094.
By 1965, FORTRAN IV was supposed to be compliant with the "standard" being developed by the American Standards Association X3.4.3 FORTRAN Working Group.[10]
At about this time FORTRAN IV had started to become an important educational tool and implementations such as Waterloo University's WATFOR and WATFIV were created to simplify the complex compile and link processes of earlier compilers.

FORTRAN 66

Perhaps the most significant development in the early history of FORTRAN was the decision by the American Standards Association (now ANSI) to form a committee sponsored by BEMA, the Business Equipment Manufacturers Association, to develop an "American Standard Fortran." The resulting two standards, approved in March 1966, defined two languages, FORTRAN (based on FORTRAN IV, which had served as a de facto standard), and Basic FORTRAN (based on FORTRAN II, but stripped of its machine-dependent features). The FORTRAN defined by the first standard, officially denoted X3.9-1966, became known as FORTRAN 66 (although many continued to refer to it as FORTRAN IV, the language upon which the standard was largely based). FORTRAN 66 effectively became the first "industry-standard" version of FORTRAN. FORTRAN 66 included:
  • Main program, SUBROUTINE, FUNCTION, and BLOCK DATA program units
  • INTEGER, REAL, DOUBLE PRECISION, COMPLEX, and LOGICAL data types
  • COMMON, DIMENSION, and EQUIVALENCE statements
  • DATA statement for specifying initial values
  • Intrinsic and EXTERNAL (e.g., library) functions
  • Assignment statement
  • GOTO, assigned GOTO, and computed GOTO statements
  • Logical IF and arithmetic (three-way) IF statements
  • DO loops
  • READ, WRITE, BACKSPACE, REWIND, and ENDFILE statements for sequential I/O
  • FORMAT statement
  • CALL, RETURN, PAUSE, and STOP statements
  • Hollerith constants in DATA and FORMAT statements, and as actual arguments to procedures
  • Identifiers of up to six characters in length
  • Comment lines

No comments:

Post a Comment