Fortran is free


Copyright Shutterstock © Trismegist san

What is Fortran?

Fortran is one of the oldest programming languages. It is considered the first "higher" programming language and was designed in 1953 by John W. Backus, who worked as a programmer at IBM. Compared to other later programming languages, Fortran has always been considered a mathematical and scientific-oriented programming language. It was supposed to facilitate the programming of numerical calculations and was preferred in the sciences, in research and in technical areas.


The name Fortran is made up of the words "Formula Translation ”. By 2008, nine versions of the programming language had been developed. Up to the fifth version FORTRAN-77 the name of the programming language was written in capital letters.

The historical background

In 1954, after the first draft of the programming language, a project initially planned for six months was started by IBM. Work on creating the programming language began with the Build a compiler. This compiler should translate the source code into a machine-readable language in order to be able to generate an executable program.

In the fall of 1954, another programmer at IBM succeeded in running the first program of the new “high-level language” on an IBM computer. It took until 1957 for the program language to be ready for the market and for the powerful compiler to be completed.

For the Programmer John W. Backus It was an important performance criterion of the newly developed compiler and the programming language that both could work as quickly as the assembler machine languages ​​previously used for programming. From 1957, IBM sold and delivered the IBM 704 computers together with the programming language and its compiler.

A quick overview of the different versions of Fortran

The original version of the FORTRAN-I programming language has been expanded a total of eight times and is referred to as:

  • Version II
  • Version IV
  • Version 66
  • Version 77
  • Version 90
  • Version 95
  • Version 2003 and Version 2008.

ISO standard from version 66

The "International Organization for Standardization" based in Geneva awards this standard. Compliance with the ISO standard is generally considered to be an important quality criterion. With the exception of electrical and electronic products, ISO develops internationally applicable standards in all areas.

The successful certification is preceded by extensive tests that can take some time. Certain versions of the programming language came onto the market later than planned. The new standardization of version 77 from 1978 was postponed several times and a new standard could only be implemented with version 90 in April 1991.

The dialects F, Ratfor and HPF as further developments for different purposes

Furthermore, so-called Dialects of the programming language emerged: F and Ratfor.

  • F. glt as a so-called subset of versions 90 and 95. The source code can always be processed on the compilers of these versions. Due to restrictive elements of F, this modification was used especially for learning purposes, as F is a little easier to learn than a full version.
  • Ratfor stands for Rational Fortran and is mostly a mixture or merging of code elements of the programming language Fortran with the programming language C. The developer of Ratfor was Brian W. Kernighans. Programmers were very impressed by the C programming language, which was new at the time, as it made things easier for the programmer. This hype about the C programming language gave rise to the idea of ​​creating a hybrid language from the commonly used Fortran and C. Fortran programs should be able to be programmed with a C syntax. This source code from Raftor was then translated into pure Fortran with the help of a precompiler and further compiled in machine language, which of course resulted in time losses and an increased susceptibility to errors during compilation.
  • HPF or High Performance Fortran is another sub-language of Fortran.

Standardization of the programming language according to the ANSI standard

The versions of the programming language with the so-called ANSI standardization Mistake. This certificate for a certain standard was issued by the American National Standards Institute (ANSI) in Washington and describes the standards applicable in the United States. The American National Standards Institute is the only member of the International Organization for Standardization (ISO). Many of the ANSI standards have been expanded or carried over to the ISO standard.

The classic first program in Fortran “Hello World”


1 program hello
2 write (*, *) ‘Hello World!’
3 end program hello

The development of the Fortran programming language into a powerful modern language

Constant further development has transformed the first high-level programming language into a powerful modern oneprocedural, imperative as object-oriented Let the language become a thing that is still widely used today and is on the timetables of computer science students and students from other departments with a minor in computer science.

It is considered a language that is not very easy to learn because the language elements, routines and scope are very complex. But it is still worth learning, because it is still used today in many scientific, scientific, mathematical and technical areas.

Fortran programs are available on almost every high-performance computer or associated workstation, or the programming language continues to be used. Another important criterion for the use of the modern versions is the retained backward compatibility with the previous versions. Ratfor was developed in the versions Ratfor 77 and Ratfor 90.

1. What does procedural programming language mean?

Under procedural programming a certain programming style is understood. The meaning of the term is not always used consistently. It can be understood as imperative programming or structured programming. In imperative programming, the program commands follow one another. With the help of structured programming, program parts can be broken down into manageable units.

Various control structures known from structured programming are adopted in procedural programming for the sake of clarity of the program. This type of programming in certain defined subdivisions can be used to avoid repetitions in the source code.

2. What does imperative programming language mean?

As already described for procedural programming, work imperative programming languages or better: programming styles from successive commands. The program instructions determine the order in which the instructions are to be carried out by the computer. This type of programming is considered to be the classic and first applied programming style per se.

Punch card programming, assembly languages ​​(machine-level programming languages) Fortran, Algol but also programming languages ​​such as Cobol, Pascal, Ada and the first versions of C used imperative-procedural programming. Other names for the imperative programming style are stateful programming and algorithmic programming. Modern imperative programming languages, like the newer versions of Fortran, also use modular programming.

This structured programming in modules has many advantages for the creation of larger programs. Modular programming enables programming and compilation of partial programs. This also simplifies the work of several programmers on a large software project, for example.

3. What does object-oriented programming language mean?

The object oriented programing makes use of defined classes and objects embedded in these classes. Object-oriented programming can be illustrated, for example, as follows:

For example, people with the name Sabine are defined as a class. Different attributes can now be assigned to the individual objects contained in this class:


Sabine 1 - blonde hair, blue eyes, age 35, job as a nurse
Sabine 2 - brown hair, gray eyes, age 56, job programmer
Sabine 3 - red hair, green eyes, age 22, job marketing student

With object-oriented programming, it is then possible to execute various instructions, without having to redefine the properties and attributes of the objects each time, assign, change or otherwise influence memory locations. The objects are assigned the attributes of a certain systemic section of reality in which the later program is to be located. Using certain methods, certain operations can then be carried out on the objects, such as sending or receiving certain data.

These then ensure that certain attributes or a certain amount of all previously defined objects are automatically changed. Individual program commands can influence a large number of objects in object-oriented programming. In the run-up to programming, a kind of architecture and object structure is developed for the later program. Object-oriented programming is initially considered to be a little more difficult to learn, but its Access to certain databases, also called the library of a programming language, an extremely effective and efficient programming style. Object-oriented programming also enables the use of polymorphism and inheritance as higher level programming concepts.

For the objects and attributes from our defined example class “Sabine”, certain instructions could be given, such as “Identify all objects Sabine who might be confronted with the Fortran programming language” or something similar. With object-oriented programming, for example, it is also possible to create structures within the objects that cannot be seen immediately by everyone. For example, knowledge of different programming languages, such as Fortran, could be invisibly assigned to the objects Sabine 2 and Sabine 3. This also enables programming with certain access and reading rights for certain groups of people or the exclusion of certain people.

Development environments and compilers for the programming language

Versions exist for compilers and development environments of the programming language commercial provider as well as free development tools. Fortran compilers are available for PCs with installed Windows operating systems, PCs with installed Unix systems or workstations under Unix and Macintosh. Some of the commercial and free compilers are still maintained by the manufacturers and there are help and support functions.

Commercial compiler manufacturers are:

as well as providers who specialize in certain software areas:

  • Salford
  • PGI
  • Absof
  • Lahey
  • NAG

Freely available compilers are:

  • included in the GNU Compiler Collection (GCC) for all operating systems
  • the compilers for version 95: GNU Fortran and G95
  • g77 for FORTRAN-77

Compilers for the programming language on the free development environments Eclipse and OpenWatcom are also included.

Fortran's libraries and other development tools

Fortran can access very extensive libraries and other development tools. Libraries are in

  • Function collections for mathematics and statistics
  • Collections containing technical and scientific graphics and collections containing other graphics
  • and other libraries, for example to support console design, to receive and send e-mails, to create and read Excel tables or to access Windows operating system functions and others,

divided. There are also extensive function collections for

  • the menu and mask design
    as well as access to the system.

In addition, tools for maintaining the source code are part of the multitude of development tools for the programming language. Lists and further information can be found on the German Fortran website

Where can the programming language be learned?

There are many options available for learning the programming language. There is a large number of literature available for self-taught and experienced programmers who want to expand or refresh their programming knowledge with this language. Free resources for learning the programming language are available in many places on the Internet, such as video workshops on YouTube and other channels. The language, which is currently still widely used, is taught at universities and colleges as part of information technology courses. Furthermore, there is a large number of commercial offers from companies for training courses and seminars.

Related Links