Fortran is a programming language mainly used by the scientific community. Its name is a contraction of FORmula TRANslation, and its aim is to provide a way to tell computers to calculate complicated mathematical expressions, with more ease than assembly language.

FORTRAN is one of the earliest programming languages. The original versions used punched cards to write programs with. FORTRAN's age is both a strength and a weakness. On one hand, FORTRAN has a huge number of libraries of code available. However, Fortran also has many archaic features, especially in the earlier versions.

Fortran originally included a not-so-intuitive syntax, having fixed fields (a 5-digit line number, a continuation marker, and a statement area (plus a card sequence-number area on some versions). However, newer specifications for FORTRAN , such as Fortran 90, 95, 2003 and 2008 do not require such anachronistic formatting. In addition, many compilers have additional improvements for non-standard code. This book is intended to help write code compliant with the Fortran 95 standard. Some pieces of the 2003 standard are also included. The newer standards add functionality and attempt to be fully backward compatible. Where appropriate the differences in usage between these legacy versions and the modern standard will be highlighted as there is a significant code base written in older versions, especially FORTRAN 77.


Learning Fortran for Programmers
History of Fortran If you have programmed before and would like to see a little bit of how Fortran works and is different from other programming languages, read this overview.
Frequently Asked Questions
Differences between Fortran Versions A quick overview of the differences between the 77, 90 and 95 and 2003 and 2008 versions.

Introduction to Fortran

Hello World
Beginning Fortran
Simple Input and Output
Simple math in Fortran
Fortran control
Subroutines and Functions

In-depth Fortran ideas

I/O Statements
String Manipulation
Programming Structure and Style
Complex types
Structured data
Memory Management & Common Blocks
Error Catching
Parallel processing
Documenting Fortran
Object-oriented programming

Fortran and beyond

Language Overloading and Extensions
Combining Languages
Commented Source Code Library
Tools to prettify Source Code


Examples of Fortran in Action

External links