Un programma informatico è una successione di istruzioni eseguibili con computer. Tuttavia, il computer sa manipolare solo in codice binario, cioè una successione di 0 e di 1. È quindi necessario usare un linguaggio di programmazione per scrivere in modo leggibile le istruzioni che il computer deve eseguire, cioè con delle istruzioni comprensibili agli umani perché simili al suo linguaggio. Così, questi programmi sono tradotti in linguaggio macchina (in binario) da un compilatore.
Il modo di scrivere un programma è intimamente legato al linguaggio di programmazione che si è scelto dato che ne esistono numerosi. In più, il compilatore dovrà corrispondere al linguaggio scelto: ad ogni linguaggio di programmazione il suo compilatore (eccezione fatta per i linguaggi interpretati, ecc.).
In modo generale, il programma è un semplice file di testo (scritto con un editore di testo), che viene detto file sorgente. Il file sorgente contiene le linee dei programmi dette codice sorgente. Questo file sorgente una volta terminato deve essere compilato. La compilazione si svolge in due tappe:
Il compilatore trasforma il codice sorgente in codice oggetto e lo salva in un file oggetto, cioè traduce il file sorgente in linguaggio macchina (alcuni compilatori creano anche un file in assembly, un linguaggio simile al linguaggio macchina dato che possiede delle funzioni molto semplici ma leggibile).
Il compilatore fa in seguito appello a un editore di link (in inglese linker o binder) che permette di integrare nel file finale tutti gli elementi allegati (funzioni o librerie) ai quali il programma fa riferimento ma che non sono stoccati nel file sorgente. Poi esso crea un file eseguibile che contiene tutto ciò di cui ha bisogno per funzionare in modo autonomo, (sul sistema operativo Microsoft Windows o MS-DOS il file così creato ha l'estensione .exe).
Foto: © Pixabay.