Aller au contenu principal

Compilation vs. Interprétation


Compilation La compilation est une transformation du code source, écrit dans un langage de programmation haut niveau, en un fichier exécutable en langage machine, que l'ordinateur peut directement comprendre et exécuter.

Fonctionnement

  • Écriture du code.
  • Transformer tout ce code en un fichier exécutable via le compilateur.
  • Le fichier exécutable est indépendant une fois généré, on peut l'exécuter sans repasser par le code source.

Exemple avec C

int main() {
printf("Salut les devs !\n");
return 0;
}

Compilation avec

gcc nomDeProgramme.c -o nomDeProgramme

Le résultat est un fichier exécutable nomDeProgramme.

Interprétation L'interprétation, à l'inverse, analyse et exécute le code source ligne par ligne (comme javascript, python), sans générer de fichier exécutable intermédiaire.

Fonctionnement

  • L'interpréteur lit une ligne de code.
  • Traduit en langage machine.
  • Exécute cette ligne.
  • Il répète ces étapes pour chaque ligne de code suivante.

Imaginons que vous cuisiniez. La compilation serait comparable à la préparation d'un livre de recettes complet à l'avance. Une fois le livre écrit, vous pouvez cuisiner rapidement.

L'interprétation, en revanche, serait comme avoir un ami qui vous lit une recette étape par étape. Chaque fois que vous voulez cuisiner, il doit relire la recette.

print("O comme ouai c'est michel..")

Exécution avec l'interpréteur Python

python nomDeProgramme.py

Points à retenir

  • Compilation Tout le code est transformé en exécutable à l'avance, ce qui rend les exécutions ultérieures rapides. Cependant, les erreurs ne sont détectées qu'à la phase de compilation.
  • Interprétation Le code est lu et exécuté ligne par ligne, permettant un débogage rapide durant le développement, mais peut s'avérer plus lent à l'exécution, car il n'y a pas de phase de préparation comme la compilation.