Next: Software Engineering Support Programme
Up: A Survey of Available
Previous: Introduction
  Contents
The Fortran Language
Fortran continues to be the mainstay for implementing large scale computational modelling packages, despite the growth in the use of C and C++ within the scientific community. In this section we reflect on the history of Fortran and the features of the 2003 standard.
Fortran began life in the 1950s as a high-level language primarily aimed at mathematical formulae. The first standard for the language was brought out in 1966 to overcome a proliferation of dialects of the language that had built up in these early years. Even with the standard many dialects remained as well as extensions to the standard that provided essential features for large-scale programming. To overcome these difficulties a new standard known as Fortran 77 was published in 1978.
Fortran was aimed at scientific and numerical computing but other languages were arising that were more suitable for other application areas and they were being adopted in preference to Fortran. To maintain the superiority in scientific computing a new standard was developed to develop the language building on the experience of other languages. This new standard was Fortran 90. It introduced dynamic storage, whole array operations, modules, derived data types, pointers and new control structures, as well as allowing free format source code.
Following publication of the Fortran 90 standard there were two driving forces for change. The first was minor changes requested by users and the second was the development of High Performance Fortran (HPF). HPF was a set of extensions of Fortran making it possible to write portable code for use on parallel computers when handling problems involving large datasets. These extensions were mainly in the form of directives (in the form of Fortran comment lines) recognised only be a HPF processor. Not all of the desired features could be implemented using these directives so new syntax became necessary. These two drivers led to the creation of Fortran 95 a minor upgrade from Fortran 90.
Since the introduction of Fortran 95 there have been two official extensions ([1], [2]) that have been published as Type 2 Technical Reports (TRs).
These provide features for
- Allocatable dummy arguments and type components, and
- Support for the five exceptions of the IEEE Floating Point Standard (IEEE 1989) and for
other features of this Standard.
These are both included in Fortran 2003 as well as changes regarding object
orientation and interfacing with C and other minor changes. The move towards object orientation in Fortran will be extended with type extension and inheritance, polymorphism, dynamic type allocation, and type-bound procedures allowing more class-like structures to be implemented. Interfacing with C is achieved by requiring types, variables and procedures to be `interoperable'. These are requirements of syntax so that the compiler knows at compile time whether an entity is interoperable.
Other changes and additions in the 2003 standard include :
- Derived type enhancements: parameterized derived types, improved control of
accessibility, improved structure constructors, and finalizers.
- Data manipulation enhancements: allocatable components, deferred type parameters,
VOLATILE attribute, explicit type specification in array constructors and allocate
statements, pointer enhancements, extended initialization expressions, and enhanced
intrinsic procedures.
- Input/output enhancements: asynchronous transfer, stream access, user specified
transfer operations for derived types, user specified control of rounding during format
conversions, named constants for preconnected units, the flush statement,
regularization of keywords, and access to error messages.
- Support for international usage: access to ISO 10646 4-byte characters and choice of
decimal or comma in numeric formatted input/output.
- Enhanced integration with the host operating system: access to command line
arguments, environment variables, and processor error messages.
A full description of the new features of Fortran 2003 can be found in [3].
Next: Software Engineering Support Programme
Up: A Survey of Available
Previous: Introduction
  Contents