FORTRAN
Early and highly influential programming language designed by IBM in the 1950's, by now primarily used in numerical and scientific computing but on top of the usual inertia and the wide availability of libraries, FORTRAN can produce numerical code that is significantly faster that what you can expect from languages like C and Pascal and I/O, especially registered I/O is in a whole different league to CPL class languages like C and C++. While Fortran was a major influence on the European Algol languages in the late 1950's, things have essentially turned around 180 degrees with all FORTRAN standards since the early 70's being heavily influenced by structured Algol derivatives like Pascal and Modula-2.
Classic FORTRAN is always spelled all caps, Fortran 90 and later however are expected to be formatted as other nouns. We tend to use the older conventions here since only a couple of F90 OS/2 implementations showed up and they did not sell well so the bulk of OS/2 programming has traditionally been done in classic FORTRAN.
A list of OS/2 implementations of FORTRAN
- GNU Fortran - Open source - Discontinued
- IBM Fortran/2 - Commercial - Discontinued
- IBM Personal Fortran - Commercial - Discontinued
- IBM Professional Fortran - Commercial - Discontinued
- Microsoft FORTRAN77 - Commercial - Discontinued
- NAS Fortran 90+ - Commercial - Discontinued
- NDP Fortran 90 - Commercial - Discontinued
- Open Watcom FORTRAN 77 - Open Source - Current
- Prospero FORTRAN 77 - Commercial - Discontinued
Libraries and bindings
OS/2 text & programmers editors with FORTRAN support
- Boxer - FORTRAN syntax support included by default - Commercial - Discontinued.
- BRIEF - FORTRAN syntax support included by default - Commercial - Discontinued.
- Elvis - FORTRAN syntax support included by default - Open source - Current
- Enhanced Editor - Has FORTRAN 90 syntax highlighting built in with some auto-formatting features.
- FTE - Has support for syntax highlighting, code folding and syntax-aware autoindent. - Open source - Current
- jEdit - Java editor
- MED
- Visual Slick Edit
A list of DOS implementations of FORTRAN
- BC Fortran - Freeware - Discontinued
- F2C - Open Source - Discontiued - Fortran to C translator.
- GNU Fortran - Open source - Discontinued
- SuperSoft FORTRAN - Commercial - Discontinued
- Microsoft FORTRAN77 - Commercial - Discontinued
- Open Watcom FORTRAN 77 - Open Source - Current
- Prospero FORTRAN 77 - Commercial - Discontinued
DOS FORTRAN database bindings
- Empress - Commercial - Discontinued
DOS text & programmers editors with FORTRAN support
- Boxer - FORTRAN syntax support included by default - Commercial - Discontinued.
- BRIEF - FORTRAN syntax support included by default - Commercial - Discontinued.
- Elvis - FORTRAN syntax support included by default - Open source - Current
- FTE - Has support for syntax highlighting, code folding and syntax-aware autoindent. - Open source - Current
A list of FORTRAN implementations that run under WinOS/2
- Microsoft FORTRAN77 - Commercial - Discontinued
- Prospero FORTRAN 77 - Commercial - Discontinued - 16 bit development possible by cross-compiling from DOS or OS/2 with an optional library/linker package.
A list of FORTRAN implementations that run under Java
- F2J Open source - Current
A list of FORTRAN implementations in JavaScript
Publications
- T. Ellis, et al: FORTRAN 77 Programming: with an Introduction to the FORTRAN 90 Standard - 1990 - ISBN: 0201416387 - Out of print.
External articles
- Jeanne Adams: Fortran evolving into the next century - Explains some of the changes from Fortran90 to Fortran95.
- A.G. Buckley: Conversion to Fortran 90: A Case Study
Tutorials and other learning material
- Programming in FORTRAN77
- Tanja van Mourik: The Fortran 90/95 Manual
- Advanced Fortran 90/95 Programming by University of Durham Information Technology Service
- Clive Page: Fortran90 for Fortran77 Programmers
- Rob Davies, Alan Rea and Dimitris Tsaptsinos: Introduction to Fortran 90; An introduction Course for Novice Programmers; Student Notes
- Timothy H. Kaiser: Advanced Fortran90
Links
USENET
- comp.lang.fortran - Surprisingly popular - Go to the Google groups version if you are newsgroup challenged.
Standards
FORTRAN to FORTRAN IV
- John Backus, et al: FORTRAN Automated Coding System For the IBM 704 EDPM - 1956
- FORTRAN II General Information Manual and IBM 7090/7094 Programming Systems: FORTRAN II Programming are the two documents that defined the FORTRAN II standard - 1963
- IBM 7090/7094 Programming Systems: FORTRAN IV Language - 1963 and IBM System 360 and System 370 FORTRAN IV Language - 1974 are the two main documents relating to FORTRAN IV, although the ANSI66 standard had been released FORTRAN IV remained the de facto standard until well after ANSI77 was released.
FORTRAN66 & FORTRAN77
- ANSI FORTRAN66 Standard - 1967 - Basically a rubber stamping of FORTRAN IV with some clarifications.
- ANSI FORTRAN77 Standard - 1978
- MILITARY STANDARD 1753 - USA Department of Defence supplement To FORTRAN77 - 1978 - Not supported by many compilers.
- FIPS test suite for FORTRAN78 - Free validation suite
Fortran 90
- Fortran90 - 1991 - There are no draft versions avaialable for download.
- There were three sets of corrections, clarifications and minor additions to the Fortran90 standard published in TECHNICAL CORRIGENDUM 1, TECHNICAL CORRIGENDUM 2 and TECHNICAL CORRIGENDUM 3.
- ISO also published Guidelines for Bindings to Fortran 90
- The UK MET Office published the European Standards For Writing and Documenting Exchangeable Fortran 90 Code. (MET = Meteorological BTW)
Fortran95
- Fortran95 - 1997 Draft standard
- There were two sets of corrections, clarifications and minor additions to the Fortran95 standard published in TECHNICAL CORRIGENDUM 1 and TECHNICAL CORRIGENDUM 2.
Fortran20xx
- Draft Fortran2003 standard - See also Fortran2003 handbook
- Draft Fortran2008 - Minor revision of 2003
- Workplan for Fortran2015
Fortran MP
Extensions to FORTRAN77, 90 and 95 to support programming multi-processor machines, the v4 also supports Fortran2003
- OpenMP Fortran Application Program Interface - Version 1.0 - 1997
- OpenMP Fortran Application Program Interface - Version 1.1 - 1999 - Includes previously published errata and interpretations to the 1.0 standard
- OpenMP Fortran Application Program Interface - Version 2.0 - 2000
- Errata for OpenMP 2.0
- OpenMP Application Program Interface - Version 2.5 - 2005
- OpenMP Application Program Interface - Version 3.0 - 2008
- OpenMP Application Program Interface - Version 3.1 - 2011
- OpenMP Application Program Interface - Version 4.0.0 - 2013
- OpenMP Examples 4.0.1
Standards bodies
- Fortran Standards Committee homepage - The home of FORTRAN standardisation since 1966, although usually credited to ANSI the standard is actually developed by "National Committee for Information Technology Standards" (NCITS) nowadays known as "InterNational Committee for Information Technology Standards " (INCITS), despite having no presence outside the USA.
- OpenMP - Standards body for the Fortran MP variants.
FORTRAN History
- Developed primarily by John Backus then working from the IBM headquarters on Madison Avenue in New York City, USA and formally introduced as an optional software for the IBM 704 computer in April 1957 even though IBM had shipped versions in 1956. The basic idea behind FORTRAN was for it to resemble common algebra notation as much as possible.