Generated by GPT-5-mini| Fortran 90 | |
|---|---|
| Name | Fortran 90 |
| Paradigm | Imperative, procedural, array, modular |
| Designer | IBM, Alan J. Perlis, John Backus |
| Developer | ANSI, ISO |
| First appeared | 1991 |
| Typing | Static, strong |
| Implementations | GNU Fortran (gfortran), Intel Fortran Compiler, Cray Fortran Compiler |
| Influenced by | Fortran, Algol 60, Algol 68 |
| Influenced | Fortran 95, Fortran 2003, Fortran 2008, High Performance Fortran |
Fortran 90 Fortran 90 is a major revision of the Fortran family that introduced modern programming constructs, array-based operations, and modularization to replace and extend features from earlier Fortran standards. It was developed through committees of ANSI and later adopted by ISO to provide standardized support for scientific and engineering computing on systems produced by vendors such as IBM, Cray, and Intel Corporation. The language influenced subsequent standards and implementations used across institutions like Los Alamos National Laboratory, CERN, and National Aeronautics and Space Administration.
Fortran 90 emerged from standards work by ANSI committees following the original Fortran standard and the evolution represented by FORTRAN 77. Development involved contributors from corporations such as IBM, Cray Research, and DEC and research centers including Argonne National Laboratory and Lawrence Livermore National Laboratory. The standardization process aligned with ISO procedures and reflected influence from languages like Algol 60 and Algol 68, as well as lessons from compiler projects at University of Cambridge and Massachusetts Institute of Technology. Adoption was driven by hardware advances from Intel Corporation and supercomputing needs articulated by organizations such as Sandia National Laboratories.
Fortran 90 introduced structured programming constructs and data types that expanded on earlier FORTRAN 77 capabilities. Key features include block constructs influenced by Algol 60 (e.g., IF ... END IF), derived types comparable to Pascal records, recursion support influenced by compiler research at Stanford University, and user-defined operators reflecting design discussions in ISO working groups. The type system supports intrinsic numeric kinds with parameterization used in projects at Los Alamos National Laboratory and Oak Ridge National Laboratory. Control constructs and expression semantics drew attention from academics at University of Edinburgh and practitioners at Microsoft research groups.
A core innovation was whole-array operations and array sectioning that enable concise formulations of numerical algorithms used at Lawrence Berkeley National Laboratory, CERN, and NASA. The intrinsic procedures and elemental functions provided standardized capabilities similar to libraries developed at National Institute of Standards and Technology and university projects at University of Illinois Urbana–Champaign. Array assignment, reshaping, and intrinsic reductions (e.g., sum, max) supported vectorized code paths targeted by compilers from Cray Research and Intel Corporation to exploit architectures from Seymour Cray-era machines to modern x86-64 servers.
Modules and explicit scoping were added to provide namespace management and encapsulation comparable to module systems discussed in Algol 68 and implemented in academic languages at Carnegie Mellon University. The MODULE/USE facility enabled code organization in large projects undertaken by CERN and multinationals like Siemens AG, while private/public scoping addressed software engineering practices promoted by IEEE and committees of ISO. Derived types with constructor-like semantics supported data abstraction needs in computational science centers such as Argonne National Laboratory.
Fortran 90 standardized formatted and unformatted I/O enhancements building on FORTRAN 77 semantics and vendor extensions from IBM and Cray Research. New OPEN, READ, WRITE, and FORMAT behaviors accommodated record-based devices used at National Aeronautics and Space Administration facilities and batch systems at Los Alamos National Laboratory. Stream I/O models and editing descriptors were influenced by operational requirements identified by European Space Agency and national labs collaborating on portability across platforms from VAX systems to Unix-based supercomputers.
Major compiler vendors implemented the standard: GNU Project provided free tools that integrated into ecosystems at institutions like MIT and University of Cambridge, while commercial compilers from Intel Corporation, Cray Research, and NAG offered high-performance code generation used by NASA and weather modeling centers such as Met Office. Portability efforts involved testing suites from NAG and community projects coordinated by W3C-unrelated academic groups; performance tuning targeted vectorization on Cray machines and cache optimization on x86-64 hardware. Interoperability and legacy support guided implementations at IBM and DEC.
Fortran 90 set the stage for successive standards like Fortran 95, Fortran 2003, and Fortran 2008 and influenced parallel and high-level extensions including High Performance Fortran and compiler work at Los Alamos National Laboratory and Oak Ridge National Laboratory. Its array syntax, modules, and improved type system shaped scientific software projects at CERN, National Oceanic and Atmospheric Administration, and climate centers including NOAA. Educational programs at universities such as University of Cambridge, Harvard University, and Stanford University integrated Fortran 90 concepts into numerical methods curricula, while legacy codebases from FORTRAN 77 migrated gradually through toolchains maintained by organizations like GNU Project and commercial vendors.