Scope

The primary target audience of this text are developers of scientific software, especially in the context of high performance computing (HPC). On HPC systems, Linux is the dominant operating system, and programming is mostly done in C, C++ or Fortran.

We assume that you are familiar with the Linux command line, and are proficient in at least one of these programming languages.

Also bear in mind that it is often necessary to work via a terminal only on HPC systems, so although we will discuss GUI applications for debugging and verification, the emphasis will be on terminal based tools.