Inconvénients et avantages des compilateurs

...

Les programmeurs utilisent des compilateurs pour transformer le code source en code machine.

Les ordinateurs lisent les commandes d'un langage machine écrit en binaire, c'est-à-dire de longues chaînes de zéros et de uns. Alors que les ordinateurs peuvent lire ce langage efficacement, la plupart des programmeurs humains ne le peuvent pas. C'est pourquoi les programmeurs travaillent dans un langage de programmation qu'ils peuvent comprendre, qu'ils traduisent ensuite dans le langage machine que l'ordinateur peut comprendre. Alors que de nombreuses langues plus récentes utilisent des interprètes qui traduisent de l'une à l'autre pendant l'exécution du programme, les plus anciennes les langages de programmation utilisaient des compilateurs qui effectuaient cette traduction entièrement avant que l'ordinateur n'exécute le programme.

Avantage: autonome et efficace

L'un des principaux avantages des programmes compilés est qu'il s'agit d'unités autonomes prêtes à être exécutées. Parce qu'ils sont déjà compilés dans des binaires en langage machine, il n'y a pas de deuxième application ou package que l'utilisateur doit tenir à jour. Si un programme est compilé pour Windows sur une architecture x86, l'utilisateur final n'a besoin que d'un système d'exploitation Windows fonctionnant sur une architecture x86. De plus, un package précompilé peut s'exécuter plus rapidement qu'un interpréteur compilant le code source en temps réel.

Vidéo du jour

Inconvénient: Spécifique au matériel

Comme un compilateur traduit le code source dans un langage machine spécifique, les programmes doivent être spécifiquement compilé pour OS X, Windows ou Linux, ainsi que spécifiquement pour 32 bits ou 64 bits architecturales. Pour un programmeur ou une entreprise de logiciels essayant de faire connaître un produit au public le plus large possible, cela signifie maintenir plusieurs versions du code source pour la même application. Cela se traduit par plus de temps consacré à la maintenance du code source et des problèmes supplémentaires lors de la publication des mises à jour.

Avantage: optimisation matérielle

Bien qu'être enfermé dans un package matériel spécifique ait ses inconvénients, la compilation d'un programme peut également augmenter ses performances. Les utilisateurs peuvent envoyer des options spécifiques aux compilateurs concernant les détails du matériel sur lequel le programme s'exécutera. Cela permet au compilateur de créer un code en langage machine qui utilise le plus efficacement le matériel spécifié, par opposition à un code plus générique. Cela permet également aux utilisateurs avancés d'optimiser les performances d'un programme sur leurs ordinateurs.

Inconvénient: temps de compilation

L'un des inconvénients d'avoir un compilateur est qu'il doit en fait compiler le code source. Alors que les petits programmes que de nombreux programmeurs novices codent prennent un temps insignifiant à compiler, les suites d'applications plus importantes peuvent prendre beaucoup de temps à compiler. Lorsque les programmeurs n'ont rien d'autre à faire que d'attendre la fin du compilateur, ce temps peut s'accumuler, en particulier pendant la phase de développement, lorsque le code doit être compilé afin de tester les fonctionnalités et dépanner Défaillance.