Fortran

[13] Early IBM computers did not support lowercase letters, and the names of versions of the language through FORTRAN 77 were usually spelled in all-uppercase.

[11]: 69  Backus' historic FORTRAN team consisted of programmers Richard Goldberg, Sheldon F. Best, Harlan Herrick, Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller, Harold Stern, Lois Haibt, and David Sayre.

The inclusion of a complex number data type in the language made Fortran especially suited to technical applications such as electrical engineering.

FORTRAN was provided for the IBM 1401 computer by an innovative 63-phase compiler that ran entirely in its core memory of only 8000 (six-bit) characters.

[23] The executable form was not entirely machine language; rather, floating-point arithmetic, sub-scripting, input/output, and function references were interpreted, preceding UCSD Pascal P-code by two decades.

GOTRAN, a simplified, interpreted version of FORTRAN I (with only 12 statements not 32) for "load and go" operation was available (at least for the early IBM 1620 computer).

The Monte Carlo technique is documented in Backus et al.'s paper on this original implementation, The FORTRAN Automatic Coding System: The fundamental unit of program is the basic block; a basic block is a stretch of program which has one entry point and one exit point.

Reflecting punched card input practice, Fortran programs were originally written in a fixed-column format, with the first 72 columns read into twelve 36-bit words.

The main enhancement was to support procedural programming by allowing user-written subroutines and functions which returned values with parameters passed by reference.

Six new statements were introduced:[29] Over the next few years, FORTRAN II added support for the DOUBLE PRECISION and COMPLEX data types.

IBM also developed a FORTRAN III in 1958 that allowed for inline assembly code among other features; however, this version was never released as a product.

In the FORTRAN IV programming environment of the era, except for that used on Control Data Corporation (CDC) systems, only one instruction was placed per line.

Modifications include using the more machine independent versions of the READ and WRITE statements, and removal of the unneeded FLOATF type conversion functions.

Such uses include ALLOCATABLE arrays as derived type components, in procedure dummy argument lists, and as function return values.

[40]) Another important supplement to Fortran 95 was the ISO technical report TR-15580: Floating-point exception handling, informally known as the IEEE TR.

According to the standards developers, "the optional parts describe self-contained features which have been requested by a substantial body of users and/or implementors, but which are not deemed to be of sufficient generality for them to be required in all standard-conforming Fortran compilers."

The specification adds support for accessing the array descriptor from C and allows ignoring the type and rank of arguments.

"[60] In 1993, Cecil E. Leith called FORTRAN the "mother tongue of scientific computing", adding that its replacement by any other possible language "may remain a forlorn hope".

Portability was a problem in the early days because there was no agreed upon standard—not even IBM's reference manual—and computer companies vied to differentiate their offerings from others by providing incompatible features.

Specific variants produced by the vendors of high-performance scientific computers (e.g., Burroughs, Control Data Corporation (CDC), Cray, Honeywell, IBM, Texas Instruments, and UNIVAC) added extensions to Fortran to take advantage of special hardware features such as instruction cache, CPU pipelines, and vector arrays.

For example, one of IBM's FORTRAN compilers (H Extended IUP) had a level of optimization which reordered the machine code instructions to keep multiple internal arithmetic units busy simultaneously.

Another example is CFD, a special variant of FORTRAN designed specifically for the ILLIAC IV supercomputer, running at NASA's Ames Research Center.

IBM Research Labs also developed an extended FORTRAN-based language called VECTRAN for processing vectors and matrices.

Three passes were required to translate source code to the "IT" language, then to compile the IT statements into SOAP assembly language, and finally to produce the object program, which could then be loaded into the machine to run the program (using punched cards for data input, and outputting results onto punched cards).

[70] These preprocessors would typically support structured programming, variable names longer than six characters, additional data types, conditional compilation, and even macro capabilities.

EFL, Ratfor and Ratfiv, for example, implemented C-like languages, outputting preprocessed code in standard FORTRAN 66.

A student using WATFOR could submit their batch FORTRAN job and, if there were no syntax errors, the program would move straight to execution.

This simplification allowed students to concentrate on their program's syntax and semantics, or execution logic flow, rather than dealing with submission Job Control Language (JCL), the compile/link-edit/execution successive process(es), or other complexities of the mainframe/minicomputer environment.

F is described by its creators as "a compiled, structured, array programming language especially well suited to education and scientific computing".

In a comment examining these arguments, Walt Brainerd penned an article entitled "Astronomy vs. Gastroenterology" because some proponents had suggested using the star or asterisk ("*"), while others favored the colon (":").

The IBM Blue Gene/P supercomputer installation in 2007 at the Argonne Leadership Angela Yang Computing Facility located in the Argonne National Laboratory , in Lemont , Illinois , US
FORTRAN and COBOL genealogy tree
John Backus (1924–2007) proposed the FORTRAN project in December 1953 and received the A.M. Turing Award in 1977.
The Fortran Automatic Coding System for the IBM 704 (October 15, 1956), the first programmer's reference manual for Fortran [ 10 ]
FORTRAN code on a punched card , showing the specialized uses of columns 1–5, 6 and 73–80
A reproduction of a FORTRAN coding form, printed on paper and intended to be used by programmers to prepare programs for punching onto cards by keypunch operators. Now obsolete.
FORTRAN-77 program with compiler output, written on a CDC 175 at RWTH Aachen University , Germany, in 1987
4.3 BSD for the Digital Equipment Corporation (DEC) VAX , displaying the manual for FORTRAN 77 (f77) compiler
General relativistic magnetohydrodynamic Fortran simulation of black hole accretion using the BHAC code with cartesian adaptive mesh
Flow around a cylinder computed in Fortran with OpenCL (University of Bristol, UK)
Velocity and sea surface temperature in the oceans, computed with the NEMO Fortran code (Nucleus for European Modeling of the Ocean, https://www.nemo-ocean.eu ) in the Barcelona Supercomputing Center (2020)