Authors: Arjen Markus, Ondřej Čertík, Milan Curcic, Laurence Kedward, Brad Richardson, Jeremie Vandenplas, Sebastian Ehlert
Languages like Fortran, C, C++ and Java, to name but a few, share certain characteristics: you write code in your language of choice but then you have to build an executable program from that source code. Other languages are interpreted — the source code is analysed by a special program and taken as direct instructions. Two very simple examples of that type of language: Windows batch files and Linux shell scripts.
In this tutorial we concentrate on the first type of languages, with Fortran as the main example. One advantage of compiled languages is that the build process that you need to build an executable program, is used to transform the human-readable source code into an efficient program that can be run on the computer.
Remark: this tutorial gives examples for the Windows and Linux operating systems, however the workflow and general principles still apply to macOS.
Let us have a look at a simple example:
program hello
write(*,*) 'Hello!'
end program hello
This is just about the simplest program you can write in Fortran and it is certainly a variation on one of the most famous programs. Even though it is simple to express in source code, a lot of things actually happen when the executable that is built from this code runs:
Fortunately, as a programmer in a high-level language you do not need to consider all these details. In fact, this is the sort of things that is taken care of by the build process: the compiler and the linker.