FORTRAN 77 has been widely used by scientists and engineers for a number of years now. It has been a very successful language but is now showing signs of age, in the last few years there has been a tendency for people to drift away from FORTRAN 77 and begin to use C, Ada or C++. The Fortran standard has now been revised to bring it up to date with a new improved language, known informally as Fortran 90, being defined.. Comparisons have been (rightly) drawn between the new Fortran standard and APL, ADA and C++. All three languages contain elements which make them the `flavour of the month', they are, to some degree, object oriented. The criteria for what makes a language actually object oriented is debatable but the new operator overloading, user defined typing and MODULE packaging features of Fortran 90 certainly help to forward its case. Along with ADA and APL it uses the concept of array operations and reduction operators; Fortran 90 also supports user defined generic procedures to enhance usability but these are implemented in a simpler and more efficient way than in ADA.
Here we highlight the new Fortran 90 features which make language more robust and useable, for example, of those mentioned above, many are object-based facilities which make it more difficult to make mistakes or do daft things. Fortran 90 is also comparable to ADA in the sense that it too has many restrictions detailed in the standard document meaning that mistakes, which in other languages (such as C, C++ and FORTRAN 77) would be syntactically correct but cause an odd action to be taken, are ruled out at compile time. As an example of this, if explicit interfaces are used then it is not possible to associate dummy and actual arguments of different types -- this was possible in FORTRAN 77 and was sometimes used in anger but generally indicated an error.