Fortran (Formula translation) is a multi-paradigm programming language invented by John Backus of IBM in the 1950s. It is particularly notable for innovation; it was the first high-level language, using the first compiler.
The language is designed to be simple to understand, yet retains the efficiency in execution as assembly language – about 80% as efficient as assembly/machine code. Fortran is machine independent, and a problem oriented language. It is often used in the scientific community, particularly among physicists, and is designed for scientific numerical computing. Fortran allows for high parallelization, it is easy to optimize, and lends itself particularly well to computationally intensive fields such as finite element analysis, numerical weather prediction, computational physics, computational chemistry, and computational fluid dynamics.
Fortran has evolved over time, with various standards including Fortran IV, Fortran 77, Fortran 90 and Fortran 95. More recent revisions are Fortran 2003, and Fortran 2008. Since Fortran 9x, it has many structured programming features, dynamic memory, operator overloading, and primitive objects. It is both the language of the past, the current, and the future (high-performance computing is unlikely to cast aside Fortran). Despite its age, Fortran is still very much alive and kicking. Fortran has a vast number of libraries of code.
We publish a series covering the best open source programming books for other popular languages. Read them here.
By Ian D Chivers, Jane Sleightholme (233 pages)
Interactive Fortran 77: A Hands on Approach introduces the reader to the concepts and ideas involved in problem solving with Fortran 77.
The authors stress the first stages of good programming practice, the accurate specification of problems, and well-organized program plans. Once these principles are defined, the main features of Fortran 77 are introduced. The emphasis throughout is placed on the need for a rigorous approach to algorithmic problem-solving, and the practical benefits to be gained from the adoption of a structured modular methodology.
Following introductory chapter, the book proceeds to cover:
This book can be distributed in its entirety provided it is distributed as a whole with a copyright notice intact. This does not extend to hard copies.
By Albert Nijenhuis, Herbert S. Wilf (316 pages)
This book provides a set of Fortran subroutines for combinatorial algorithms in the spirit of numerical analysis packages.
The topics covered range from the random and sequential production of subsets, permutations, compositions, partitions, etc.; graph algorithms – finding spanning forests, chromatic polynomials, coloring, random trees, minimal length spanning trees, Euler and Hamiltonian circuits, etc.; finding Möbius functions, the permanent, maximal flow, sorting and some theoretical subjects. Some important subjects are omitted, such as testing for planarity, tree and graph isomorphism, connectivity of a graph, maximum matching, etc.
Each problem includes a theoretical background, an algorithm, a flowchart and a Fortran subroutine.
Reproduction of the downloaded version is permitted for any valid educational purpose of an institution of learning, in which case only the reasonable costs of reproduction may be charged. Reproduction for profit or for any commercial purposes is strictly prohibited.
By Ed Jorgensen (227 pages)
Introduction to Programming using Fortran 95 provides an introduction to programming and problem solving using the Fortran 95 programming language.
This introduction is geared for non computer science majors. As such, this book is not a complete, comprehensive guide to the Fortran 95 programming language. The primary focus is on an introduction to problem solving and algorithm development. As such, many details of the Fortran are omitted. The book includes quiz questions and suggested projects for the reader.
This book is released under the Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license.
By Clive G. Page (122 pages)
Professional Programmers Guide To Fortran 77 provides a comprehensive description of the features and implementation of Fortran 77. Ideal as a text from which to learn a second language, or as a reference guide to a first or main language.
One of the attractions of using Fortran 77 is that Linux has an excellent open source compiler in the form of the GNU Fortran compiler, which is part of the GNU Compiler Collection (GCC).
Professional Programmers Guide To Fortran 77 is published under the GNU Free Documentation License Version 1.1.
By Dr Marshall, Helen Talbot, Neil Hamilton-Smith (82 pages)
Introduction to Computer Programming Using Fortran 95 is a student guide which introduces the reader to Fortran.
The book comes complete with questions to tax the budding Fortran developer.
By Dr. Rachael Padman (50 pages)
This is a primer for Fortran 95 starting with the very basics, before moving on to graphics and visualization. It also examines functions and subroutines, using modules, and numerical precision.
The book ends with sections on using the numerical library, NAG, and the case statement.
By Bo Einarsson and Yurij Shokin (82 pages)
Fortran 90 for the Fortran 77 Programmer 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.
Permission is granted to copy and/or print this hypertext as long as the copyright notice and this permission is included on all copies.
By Various (HTML)
User Notes on Fortran Programming concentrates on topics which are not discussed in ordinary Fortran courses and regular textbooks: good programming practices, and various technical and numerical issues.
The authors aim to provide a clear exposition of these topics as they are essential for good programming, especially for large programming projects.
This book is an open cooperative practical guide which my be redistributed provided it’s kept updated, and all rights are reserved.
While not released under an open source license, Numerical Recipes in Fortran 77: Second Edition – Volume 1 – The Art of Scientific Computing and Numerical Recipes in Fortran 90: Second Edition – Volume 2 – The Art of Parallel Scientific Computing warrant a special mention.