Fortran
Each topic is a divided into the following sections:-
Fortran (originally from Formulae Translation) is general purpose programming
language that can trace is origins back to the 1950s. The language has seen
several major changes since then. An ANSI standard was ratified in 1977 and the
language was called Fortran77 to commemorate the fact. In this form it became
widespread in HEP and still represents a very large code base. Any HEP
experiment that started before ~1995 is likely to have a significant amount of
Fortran77 code. More recently Fortran90, a superset of Fortran77 has emerged
but too late to dominate current HEP code development that has now moved on to
C++ and Java.
Fortran is excellent for computationally intensive applications. Unlike
C/C++ array handling is built into the language. Fortran77 is a static
language i.e the programmer has to decide at compile time how many and
how big all variables and arrays are. This very serious weakness resulted in
the HEP community developing several successful Fortran memory managers, the
last of the breed was call ZEBRA which forms the basis for such codes as
GEANT3 and PAW. Fortran90 is dynamic and has some elements that are "Object
Oriented like", but by no stretch of the imagination can it be called an OO
language. However it has constructs that allow it to map onto parallel
processors so is still competitive in this particular niche.
Commercial Fortran compilers are available on all major platforms. GNU have a
free compiler (g77) for UNIX platforms.
Fortran77 is available on Linux and windows.
A basic introduction to Fortran77 can be found
here
The contact for this page has not read a book on Fortran for ~ 30 years, so
won't recommend one. Take a look at Amazon!
OUCS offers a
Programming in Fortran
course although it is not available every term.
A good FAQ can be found
here.
I am sorry, this section is currently empty.
I am sorry, this section is currently empty.
Nick West
If you have any comments about this page please send them to
Nick West