Department of Engineering

IT Services

Main Features of Fortran 90

Some of the main features of Fortran 90 include:

  • Free-form input.
  • Whole-array operations, many other array-handling features.
  • Built-in support for different 'kinds' of intrinsic types:
    • REAL(SELECTED_REAL_KIND(PRECISION=10,RANGE=50)) :: x,y,z
  • User-defined types.
  • Parameterised functions and subroutines
  • Functions can return any type.
  • Dynamic space allocation.
  • Pointers.
  • Modules and controlled inheritance.
  • Recursion.
  • (Almost) full backwards compatibility with Fortran 77.

These features support:

  • Structured programming
  • Data encapsulation
  • Data hiding
  • Basic object-orientation (unless you're an O-O purist)
  • Elimination of COMMON BLOCK and BLOCK DATA!!

The array features in particular allow compilers to perform much automatic parallelisation. There will be further support for parallelisation in F95 and F2k. A major goal of Fortran has always been efficiency and this is very much still the case for Fortran 90. Some Fortran 66 features are still supported but are officially "obsolescent" and will be removed in F95 or F2000.