FORTRAN History
FORTRAN - Interesting Facts n FORTRAN is the oldest Language actively in use today. n FORTRAN is still used for new software development in many scientific applications n Many FORTRAN programs written years ago are still in active use today!
FORTRAN - Early History n Early 1950’s –Computers very slow –Small memories - 15k typical –Little or no operating system –Programming done in machine/assembly language –Idea of a high level translated language seemed impractical code generated would be slower code generated would be bigger
FORTRAN I n Developed in n IBM team lead by John W. Backus n FORTRAN - FORmula TRANslator n Designed to ease coding of mathematical algorithms
FORTRAN I n Programmers skeptical at first n Then advantages seen: –Easier, faster to program –Programs are portable –Programs can be maintained –Program libraries build and shared n Adopted by the scientific and military communities
FORTRAN II n FORTRAN II (1958) was a significant improvement n added the capability for separate compilation of program modules n assembly language modules could also be 'linked loaded' with FORTRAN modules.
FORTRAN III n FORTRAN III (1958) never released to the public n it made it possible to use assembly language code right in the middle of FORTRAN code. n Such "inlined" assembly code can be more efficient, but the advantages of an HLL are lost (e.g. portability, ease of use).
FORTRAN IV n FORTRAN IV (1961) was a 'clean up' of FORTRAN II n improved the implementation of the COMMON and EQUIVALENCE statements n eliminated some machine-dependant language irregularities.
FORTRAN 66 n First HLL Standard n Card oriented (as were previous versions)
FORTRAN 77Standard n Added –DO loops with a decreasing control variable (index). –Block if statements IF... THEN... ELSE... ENDIF (before F77 there were only IF GOTO). –Pretest of DO loops, before F77 DO loops were always executed at least once, so you had to add an IF GOTO before the loop.
FORTRAN 77 n Added –CHARACTER data type (before characters were always stored inside INTEGER variables). –Main program termination without a STOP statement
Fortran 90 standard n Added –Free format source code form (column independent) –Modern control structures (CASE & DO WHILE) –Records (structures) –Array notation (array sections, array operators, etc.) –Dynamic memory allocation
Fortran 90 standard n Added –Dynamic memory allocation –Derived types and operator overloading –Keyword argument passing, INTENT (in, out, inout) –Numeric precision and range control –Modules –Vector processing
FORTRAN 2000 Standard n Expected about 2002