This tutorial is written in order to ease the transition from the very common and popular programming language Fortran 77 to the more modern Fortran 90. This transition uses the fact that Fortran 77 is a pure subset of Fortran 90. There are, however, two very important reasons to go over to as much Fortran 90 as possible. One is that it includes new and powerful constructs, the other is that Fortran 90 gives us more facilities for correctness checking of the program. This means that more reliable programs are obtained. During 1995 Fortran 90 will be offered by most computer manufacturers and the language will be a success.

It is required that the reader is knowledgeable in Fortran 77. Those parts of Fortran 90 who already are parts of Fortran 77 are not treated systematically in full, they are assumed known by the reader. Those who don't know Fortran 77, can read a tutorial book on Fortran 77, or a complete textbook on Fortran 90. Note especially that Fortran 90 is much larger than Fortran 77 in all respects. Therefore it is difficult to describe it as short as we do it here. All examples in this tutorial have been run on a Sun SPARC, DEC station Ultrix and the IBM PC with the Fortran 90 system from NAG. They were also tested on the Power Macintosh using the Absoft Fortran 90 compiler. It is recommended that the reader has access to a Fortran 90 system.

We assume that the reader can write programs in Fortran 77 and wishes to learn to use the new facilities in Fortran 90. All statements in Fortran 77 are explained in Appendix 2 and the summary of the news in Fortran 90 are in Appendix 3.

The greater power in Fortran 90 means that the statements in many cases have a combined effect, and it is therefore not so useful to only describe the language statement for statement.

The examples in the tutorial are considered to illustrate the programming technology and the statements being discussed.

The purpose is, however, not to give an optimized application program. This is especially true for the sections supplying comments to the exercises. Please note that some of the later examples are very complete with respect to interfaces and specifications that are required at the use of functions and subroutines.

The proposed extension HPF or High Performance Fortran, primarily intended for parallel computers, is described in Appendix 8.

We wish to thank John Reid for his assistance with the interpretation of some of the new concepts in Fortran 90.

Note: This HTML version is in progress. It is recommended that the reader has the following features implemented in such a way that the following four fonts are easily distinguished: Bold font, Italic font , Courier or TTY font, and normal font. The Courier font is being used for all Fortran words and all code.

Permission is granted to copy and/or print this file as long as the copyright notice and this permission is included on all copies.

This material is also available as one book in Swedish and one in Russian. A complete textbook in Swedish on Fortran 90/95 has been prepared, and is available both electronically and in printed form.

Views, suggestions and corrections are most welcome for the next edition of this tutorial. The HTML version will be continuously updated. A chapter on Fortran 95 and an Appendix 11 with computer exercises have recently been added, as well as Appendix 12 on editors and Appendix 13 on computer environments.

The authors discussing in Novosibirsk, May 1996

Novosibirsk, May 1996
Bo Einarsson and Yurij Shokin

Last modified: 16 January 2002