|
|
(54 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| 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]]. 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]]. | | Early and highly influential programming language designed by [[IBM]] in the 1950s, 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 than what you can expect from languages like [[C]] and [[Pascal]] and I/O speed, especially registered I/O is in a whole different league to CPL class languages like C and [[C++]]. |
|
| |
|
| Classic FORTRAN is always spelled all caps, Fortran 95 and later however are expected to be formatted as other nouns. We tend to use the older conventions here since only a couple of F95 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.
| | While Fortran was a major influence on the European [[Algol]] languages in the late 1950s, things have essentially turned around 180 degrees, with all FORTRAN standards since the early 70s being heavily influenced by structured Algol derivatives like Pascal and [[Modula-2]]. |
|
| |
|
| ==A list of OS/2 implementations of FORTRAN==
| | 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 Fortran 90 OS/2 implementations showed up, and they did not sell well, so the bulk of OS/2 programming has traditionally been done in FORTRAN-77. |
|
| |
|
| * [[GNU Fortran]] - Open source - Discontinued
| | ==History== |
| * [[IBM Fortran/2]] - Commercial - Discontinued
| | 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. |
| * [[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|Open Watcom FORTRAN 77]] - Open Source - Current
| |
| * [[Prospero FORTRAN 77]] - Commercial - Discontinued
| |
|
| |
|
| ====Libraries and bindings====
| | *1958: [[FORTRAN II]] |
| * | | *1962: [[FORTRAN IV]] |
| | *1967: [[FORTRAN 66]] (ANS X3.9-1966) |
| | *1967: Basic FORTRAN (ANS X3.10-1966) |
| | *1978: [[FORTRAN-77]]:X3.9-1978 |
| | *1991: [[Fortran 90]]:ISO/IEC 1539:1991 |
| | *1997: [[Fortran 95]]:ISO/IEC 1539-1:1997 |
| | *2004: [[Fortran 2003]]:ISO/IEC 1539-1:2004 |
| | *2008: Fortran 2008:ISO/IEC 1539-1:2010 |
|
| |
|
| ==A list of DOS implementations of FORTRAN==
| | ;Standards bodies |
| * [http://www.nomdo.dds.nl/bcf.zip BC Fortran] - Freeware - Discontinued | | * [http://www.j3-fortran.org/ 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. |
| * [http://www.netlib.org/f2c/ F2C] - Open Source - Discontiued - Fortran to C translator.
| |
| * [[GNU Fortran]] - Open source - Discontinued
| |
| * [[Microsoft FORTRAN77]] - Commercial - Discontinued
| |
| * [[Open Watcom|Open Watcom FORTRAN 77]] - Open Source - Current
| |
| * [[Prospero FORTRAN 77]] - Commercial - Discontinued
| |
|
| |
|
| ==A list of FORTRAN implementations that run under WinOS/2== | | ==Source code snippets== |
| * [[Microsoft FORTRAN77]] - Commercial - Discontinued
| | Small programs or routines that you can integrate into your own programs or study to learn from, but are not delivered in library form. |
| * [[Prospero FORTRAN 77]] - Commercial - Discontinued - 16 bit development possible by cross-compiling from DOS or OS/2 with an optional library/linker package.
| | * Harold Zbiegien's date algorithms (CVT_DATE.FOR) |
| ==A list of FORTRAN implementations that run under Java==
| |
| * [http://sourceforge.net/projects/f2j/ F2J] Open source - Current | |
|
| |
|
| ==A list of FORTRAN implementations in JavaScript==
| |
| *
| |
| ==Publications== | | ==Publications== |
| * | | * John Backus, et al.: ''FORTRAN Automated Coding System for the IBM 704 EDPM'' - 1956 |
| ====Local articles====
| |
| *
| |
| | |
| ====Tutorials and other learning material====
| |
| * Tanja van Mourik: [http://www-eio.upc.edu/lceio/manuals/Fortran95-manual.pdf The Fortran 90/95 Manual]
| |
| * [https://www.dur.ac.uk/resources/its/info/guides/47AdvancedFortran.pdf Advanced Fortran 90/95 Programming] by University of Durham Information Technology Service
| |
|
| |
|
| ==Links== | | ==Links== |
| ====USENET====
| | * USENET: [news:comp.lang.fortran comp.lang.fortran] - Surprisingly popular |
| * [news:comp.lang.fortran comp.lang.fortran] - Surprisingly popular - Go to the [https://groups.google.com/forum/#!forum/comp.lang.fortran Google groups version] if you are newsgroup challenged.
| |
| ==Standards==
| |
| ====FORTRAN to FORTRAN IV====
| |
| * John Backus, et al: [http://www.fh-jena.de/~kleine/history/languages/FortranAutomaticCodingSystemForTheIBM704.pdf FORTRAN Automated Coding System For the IBM 704 EDPM] - 1956
| |
| * [http://www.fh-jena.de/~kleine/history/languages/F28-8074-3_FORTRANII_GenInf.pdf FORTRAN II General Information Manual] and [http://www.fh-jena.de/~kleine/history/languages/C28-6054-4_7090_FORTRANII.pdf IBM 7090/7094 Programming Systems: FORTRAN II Programming] are the two documents that defined the FORTRAN II standard - 1963
| |
| * [http://www.fh-jena.de/~kleine/history/languages/C28-6274-1_7090_FORTRANIV.pdf IBM 7090/7094 Programming Systems: FORTRAN IV Language] - 1963 and [http://www.fh-jena.de/~kleine/history/languages/GC28-6515-10-FORTRAN-IV-Language.pdf 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====
| |
| * [http://www.fh-jena.de/~kleine/history/languages/ansi-x3dot9-1966-Fortran66.pdf ANSI FORTRAN66 Standard] - 1967
| |
| * [http://www.fh-jena.de/~kleine/history/languages/ansi-x3dot9-1978-Fortran77.pdf ANSI FORTRAN77 Standard] - 1978
| |
| * [ftp://ftp.nag.co.uk/sc22wg5/ARCHIVE/mil_std_1753.html MILITARY STANDARD 1753] DoD Supplement To FORTRAN77 - 1978 - Not supported by many compilers.
| |
| | |
| ====Fortran 90====
| |
| * There were three sets of corrections, clarifications and minor additions to the Fortran90 standard published in [http://www.j3-fortran.org/doc/standing/archive/006/f90/Corrigendum_1.pdf TECHNICAL CORRIGENDUM 1], [http://www.j3-fortran.org/doc/standing/archive/006/f90/Corrigendum_2.pdf TECHNICAL CORRIGENDUM 2] and [http://www.j3-fortran.org/doc/standing/archive/006/f90/Corrigendum_3.pdf TECHNICAL CORRIGENDUM 3].
| |
| * ISO also published [http://www.nag.co.uk/sc22wg5/Guidelines_for_Bindings-a.html Guidelines for Bindings to Fortran 90]
| |
| * The UK MET Office published the [http://research.metoffice.gov.uk/research/nwp/numerical/fortran90/f90_standards.html European Standards For Writing and Documenting Exchangeable Fortran 90 Code]
| |
| ====Fortran95====
| |
| * [http://j3-fortran.org/doc/standing/archive/007/97-007r2/pdf/97-007r2.pdf Fortran95] - 1997 Draft standard
| |
| * There were two sets of corrections, clarifications and minor additions to the Fortran95 standard published in [http://www.j3-fortran.org/doc/standing/archive/006/f95/Corrigendum_1.pdf TECHNICAL CORRIGENDUM 1] and [http://www.j3-fortran.org/doc/standing/archive/006/f95/Corrigendum_2.pdf TECHNICAL CORRIGENDUM 2].
| |
| ====Fortran20xx====
| |
| * [ftp://ftp.nag.co.uk/sc22wg5/N1601-N1650/N1601.pdf.gz Draft Fortran2003 standard] - See also [http://www.futa.edu.ng/materials/FORTRANTEXT.pdf Fortran2003 handbook]
| |
| * [ftp://ftp.nag.co.uk/sc22wg5/N1801-N1850/N1830.pdf Draft Fortran2008] - Minor revision of 2003
| |
| * [http://www.j3-fortran.org/doc/standing/links/010.pdf Workplan for Fortran2015]
| |
| | |
| * [http://www.j3-fortran.org/ 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.
| |
| | |
| ==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.
| |
|
| |
|
| [[Category:Programming Languages]] [[Category:FORTRAN]] | | [[Category:Programming Languages]] [[Category:FORTRAN]] |
Early and highly influential programming language designed by IBM in the 1950s, 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 than what you can expect from languages like C and Pascal and I/O speed, 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 1950s, things have essentially turned around 180 degrees, with all FORTRAN standards since the early 70s 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 Fortran 90 OS/2 implementations showed up, and they did not sell well, so the bulk of OS/2 programming has traditionally been done in FORTRAN-77.
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.
- 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.
Source code snippets
Small programs or routines that you can integrate into your own programs or study to learn from, but are not delivered in library form.
- Harold Zbiegien's date algorithms (CVT_DATE.FOR)
Publications
- John Backus, et al.: FORTRAN Automated Coding System for the IBM 704 EDPM - 1956
Links