Un langage compilé est un langage de programmation pour lequel le code source est généralement compilé et non interprété .
Le terme est vague car, en principe, tout langage peut être compilé ou interprété et en pratique certains langages sont les deux (dans des environnements différents). Dans certains environnements, le code source est d'abord compilé (dans une forme intermédiaire ; souvent du bytecode ) puis interprété.
Avantages et inconvénients
Les programmes compilés en code natif ont tendance à s'exécuter plus rapidement que s'ils étaient interprétés en raison de la surcharge de traduction. Les environnements avec une forme intermédiaire de bytcode ont tendance à avoir une vitesse intermédiaire. La compilation juste à temps permet une vitesse d'exécution native avec un coût de temps de traitement de démarrage unique.
Les langages de programmation de bas niveau , comme l'assembleur et le C , sont généralement compilés, en particulier lorsque l'efficacité est la principale préoccupation, plutôt que la prise en charge multiplateforme . Pour ces langages, il existe davantage de correspondances un à un entre le code source et le code machine résultant , ce qui permet aux programmeurs de contrôler plus facilement l'utilisation du matériel.
Il est possible d'écrire des compilateurs même pour des langages couramment interprétés . Par exemple, Common Lisp peut être compilé en bytecode Java (puis interprété par la machine virtuelle Java ), en code C (puis compilé en code machine natif) ou directement en code natif.
Les environnements qui prennent en charge plusieurs langages de sortie de compilation offrent aux développeurs le contrôle du choix entre la vitesse d'exécution ou la compatibilité multiplateforme.