If you are reading this, probably you are interested in getting involved with the code of Octopus. Maybe you want to have a look of how things are done, maybe you want to modify something or you want to implement new thing, hopefully (when completed) this guide will help you to do this.
The main part of Octopus is written is Fortran 95, however we use the C preprocessor to overcome some limitations of the language, so for an experienced Fortran programmer, the code may seem a bit strange at the beginning (for more information about how the preprocessor is used in Octopus, you can have a look at the Preprocessing page.
Besides Fortran, we use C, Perl, Python and bash. C is used mainly for the code that has to interact with the system, to wrapper some libraries like GSL, and to fine-tune some routines that are critical for performance.