À retenir
- C'est une étape de traduction entre l'humain et la machine.
- Elle permet de détecter les erreurs de syntaxe avant le lancement du programme.
- Elle produit un fichier indépendant (l'exécutable) qui ne nécessite plus le code source pour fonctionner.
La compilation est le processus de transformation d'un code source, écrit par un humain dans un langage de programmation (comme le C++ ou le Rust), en un langage machine composé de 0 et de 1 que le processeur de l'ordinateur peut comprendre et exécuter. On peut comparer cela à la traduction intégrale d'un livre d'une langue étrangère vers le français avant de pouvoir le distribuer en librairie.
Étymologie
Vient du latin compilatio, qui désignait initialement un pillage ou un recueil de textes. En informatique, le sens a glissé vers l'idée de rassembler et de structurer des instructions éparses pour en faire un bloc cohérent et prêt à l'emploi.
Exemples d'usage
- L'utilisation du compilateur
gccpour transformer un fichierprogramme.cen un fichier exécutable. - Le passage d'un code source écrit en Swift vers une application finalisée sur l'App Store.
- La génération d'un fichier
.exesous Windows à partir d'un projet écrit en C#.
Cas d'usage
La compilation intervient dans le développement de logiciels où la performance est critique, comme les systèmes d'exploitation, les moteurs de jeux vidéo ou les applications embarquées. Elle est indispensable pour diffuser un logiciel sans avoir à fournir le code source original.
Bonnes pratiques
Il est recommandé de ne pas ignorer les avertissements (warnings) du compilateur, car ils indiquent souvent des erreurs logiques subtiles. Pour les gros projets, il est préférable d'utiliser la compilation incrémentale (ne recompiler que ce qui a été modifié) pour gagner du temps.
Synonymes
Antonymes
Conseil
Quand vous débutez, voyez le compilateur comme un correcteur orthographique très sévère mais bienveillant : s'il refuse de compiler, c'est pour vous éviter un plantage certain au moment du lancement.
Questions fréquentes
Quelle est la différence entre compilation et interprétation ?
La compilation traduit tout le programme d'un coup avant l'exécution, tandis que l'interprétation traduit le code ligne par ligne au moment où le programme tourne.
Pourquoi la compilation prend-elle parfois beaucoup de temps ?
Le compilateur effectue des milliers de vérifications et d'optimisations mathématiques pour que le logiciel final soit le plus rapide possible sur votre matériel.
Un programme compilé est-il universel ?
Non, un programme est généralement compilé pour un système spécifique (ex: Windows ou Linux) et un type de processeur précis.