Fortran: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Paul Wormer
(New page: {{subpages}} '''Fortran''' ('''For'''mula '''tran'''slation) is the oldest high-level computer language. It was the first computer language that put humans before computers, meaning ...)
 
imported>Paul Wormer
No edit summary
Line 6: Line 6:
The first version of the language was developed in 1954 by an [[IBM]] team lead by [[John Backus]]. This version, known as Fortran I, was mainly restricted to IBM computers (notably the [[IBM 704]]). In 1958 a variant, known as Fortran II, was introduced that was also implemented by other computer companies. In 1966 the first standard endorsed by the American Standards Association (now ANSI) was established, Fortran-66.   
The first version of the language was developed in 1954 by an [[IBM]] team lead by [[John Backus]]. This version, known as Fortran I, was mainly restricted to IBM computers (notably the [[IBM 704]]). In 1958 a variant, known as Fortran II, was introduced that was also implemented by other computer companies. In 1966 the first standard endorsed by the American Standards Association (now ANSI) was established, Fortran-66.   


From the end of the 1950s onward, many important computer language concepts were developed, such as [[recursion (computer)|recursion]], dynamic storage allocation, local and global variables,  if then else statements, etc. When at the end of the 1960s it was decided that a more modern variant of Fortran was needed (that later came to be known as Fortran-77), there was much pressure to extend the language with such constructs. However, this was successfully  resisted by programmers who feared that  their introduction would be  at the expense of the numerical efficiency of the language. At  that time very sophisticated  Fortran optimizing compilers were used for the numeric intensive work  and it was feared that concepts as recursion would impede the optimization.  In consequence, the Fortran-77 standard does not allow recursion, dynamic storage allocation and local variables. It does, however, allow more extended "if statements" and "loop" structures than its predecessors.   
From the end of the 1950s onward, many important computer language concepts were developed, such as [[recursion (computer)|recursion]], dynamic storage allocation, local and global variables,  if then else statements, etc. When at the end of the 1960s it was decided that a more modern variant of Fortran was needed (that later came to be known as Fortran-77), there was much pressure to extend the language with such constructs. However, this was successfully  resisted by programmers who feared that  their introduction would be  at the expense of the numerical efficiency of the language. At  that time very sophisticated  Fortran optimizing compilers were used for the numeric intensive work  and it was feared that concepts as recursion would impede the optimization.  In consequence, the Fortran-77 standard does not allow recursion, dynamic storage allocation and local variables. It does, however, allow more extended "if statements" and "loop" structures than its predecessors. Also character handling facilities were introduced into Fortran-77.   


The Fortran-90 variant, that appeared at the end of the 1990s, allows recursion, dynamic storage allocation, case statements, and a construct that is reminiscent of [[object (computers)|object]]s used in object oriented languages, namely modules.
The Fortran-90 variant, that appeared at the end of the 1990s, allows recursion, dynamic storage allocation, case statements, and a construct that is reminiscent of [[object (computers)|object]]s used in object oriented languages, namely modules. Fortran-90  allows handling of arrays as one entity.
 
The latest standard, Fortran-2003, supports object-oriented and generic programming.

Revision as of 03:56, 31 July 2009

This article is developing and not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
Catalogs [?]
 
This editable Main Article is under development and subject to a disclaimer.

Fortran (Formula translation) is the oldest high-level computer language. It was the first computer language that put humans before computers, meaning that Fortran programmers did not have to know machine instructions, but instead could use statements that largely coincide with mathematical formulas.

Fortran being the oldest language, there is an enormous legacy in the scientific and engineering communities of Fortran programs, some of them as large as a million statements. It has always been the primary language for intensive (super)computing tasks, such as weather and climate modeling, oil reservoir simulation, computational fluid dynamics, computational chemistry, computational economics, and computational physics. Since the existing body of Fortran programs is too large to rewrite into a more modern language, it is likely that Fortran is here to stay. A very noticeable feature of all Fortran variants that have appeared so far is their "upward compatibility". In principle, a modern Fortran compiler can still translate a Fortran program written in, say, 1959 into the machine language of a present day computer.

The first version of the language was developed in 1954 by an IBM team lead by John Backus. This version, known as Fortran I, was mainly restricted to IBM computers (notably the IBM 704). In 1958 a variant, known as Fortran II, was introduced that was also implemented by other computer companies. In 1966 the first standard endorsed by the American Standards Association (now ANSI) was established, Fortran-66.

From the end of the 1950s onward, many important computer language concepts were developed, such as recursion, dynamic storage allocation, local and global variables, if then else statements, etc. When at the end of the 1960s it was decided that a more modern variant of Fortran was needed (that later came to be known as Fortran-77), there was much pressure to extend the language with such constructs. However, this was successfully resisted by programmers who feared that their introduction would be at the expense of the numerical efficiency of the language. At that time very sophisticated Fortran optimizing compilers were used for the numeric intensive work and it was feared that concepts as recursion would impede the optimization. In consequence, the Fortran-77 standard does not allow recursion, dynamic storage allocation and local variables. It does, however, allow more extended "if statements" and "loop" structures than its predecessors. Also character handling facilities were introduced into Fortran-77.

The Fortran-90 variant, that appeared at the end of the 1990s, allows recursion, dynamic storage allocation, case statements, and a construct that is reminiscent of objects used in object oriented languages, namely modules. Fortran-90 allows handling of arrays as one entity.

The latest standard, Fortran-2003, supports object-oriented and generic programming.