The seven ages of Fortran


  • Michael Metcalf Manfred-von-Richthofenstrasse 15, 12101 Berlin, Germany


Array processing, Data abstraction, Object-oriented programming, Optimization, History of computing


When IBM's John Backus first developed the Fortran programming language, back in 1957, he certainly never dreamt that it would become a world-wide success and still be going strong many years later. Given the oft-repeated predictions of its imminent demise, starting around 1968, it is a surprise, even to some of its most devoted users, that this much-maligned language is not only still with us, but is being further developed for the demanding applications of the future. What has made this programming language succeed where most slip into oblivion? One reason is certainly that the language has been regularly standardized. In this paper we will trace the evolution of the language from its first version and though six cycles of formal revision, and speculate on how this might continue. Now, modern Fortran is a procedural, imperative, compiled language with a syntax well suited to a direct representation of mathematical formulas. Individual procedures may be compiled separately or grouped into modules, either way allowing the convenient construction of very large programs and procedure libraries. Procedures communicate via global data areas or by argument association. The language now contains features for array processing, abstract data types, dynamic data structures, objectoriented programming and parallel processing.


Download data is not yet available.


[1] Annals of the History of Computing. Vol. 6, No. 1 (1984).
[2] Computer Standards & Interfaces, Vol. 18 (1996).
[3] ISO/IEC 1539-1 : 2010. ISO, Geneva, Switzerland.
[4] Metcalf, M., Reid. J. and Cohen, M. (2011). Modern Fortran Explained. Oxford University Press, Oxford and New York.




How to Cite

Metcalf, M. (2011). The seven ages of Fortran. Journal of Computer Science and Technology, 11(01), p. 1–8. Retrieved from



Invited Articles