Différence entre la langue compilée et interprétée

Différence entre la langue compilée et interprétée

Les langages de programmation tombent généralement dans l'un des deux types de langues - les langues compilées ou les langues interprétées. Cependant, la différence n'est pas dans la langue; c'est dans l'implémentation. Il n'est pas faux de dire que les deux sont les propriétés de la mise en œuvre d'une langue, mais pas les propriétés de la langue elle-même. La mise en œuvre d'un langage de programmation signifie combler l'écart de la réflexion de haut niveau du programmeur aux zéros et à ceux de la machine. Si cela fait efficacement, les programmeurs peuvent se concentrer sur les problèmes réels, plutôt que sur les détails des machines. Ainsi, un langage de programmation peut être compilé ou interprété en fonction de la mise en œuvre.

Eh bien, les deux types de langages de programmation ont leurs forces. Certaines langues nécessitent que tout votre code soit compilé avant que l'un des code ne puisse être exécuté. D'autres langues interprètent chaque instruction au moment où le code est exécuté. En fait, les langages compilés sont généralement compilés par un programmeur sur l'ordinateur du programmeur; Lorsque le programmeur partage le logiciel, il partage les 0 et 1 compilés, mais pas le code source. Cependant, avec une langue interprétée, le code est enregistré dans le même format que vous avez entré et doit être traduit au moment de l'exécution. Jetons un coup d'œil à une comparaison détaillée entre les langues compilées et interprétées.

Qu'est-ce qu'une langue compilée?

Les ordinateurs sont uniquement capables d'exécuter le langage de la machine, qui est la langue de l'unité de traitement centrale (CPU) et est très simple. L'objectif de toute implémentation en langage de programmation est de traduire un programme source dans le langage de la machine afin qu'il puisse être exécuté par le CPU. Toutes les implémentations linguistiques traduisent un programme source en une représentation intermédiaire avant de traduire la représentation intermédiaire en langage machine. La méthode la plus directe pour traduire un programme en langage machine est appelée compilation. Un programme écrit dans une langue compilée doit être converti en un format différent avant qu'il ne soit exécuté. Le code source doit être transformé en instructions lisibles par la machine avant l'exécution. En bref, les langues dont les implémentations sont généralement des compilateurs et non des interprètes sont appelés langues compilées.

Qu'est-ce qu'une langue interprétée?

Un interprète est un programme qui est écrit dans une autre langue et compilé en langage lisible la machine. L'interprète lui-même est le programme de langue machine et est écrit pour lire les programmes source de la langue interprétée et les interpréter. Une langue interprétée, au contraire, ne compile pas le code source dans le langage de la machine avant d'exécuter le programme. Il interprète simplement le code à la volée. Donc, vous n'obtenez pas les avantages ou les inconvénients des erreurs de compilation. Les langues interprétées nécessitent un logiciel appelé interprète, qui prend le code source et exécute une instruction à la fois. Lorsque vous exécutez un programme source interprété, vous exécutez en fait l'interprète. L'interprète est le programme de langue machine qui exécute tous les programmes que vous écrivez dans la langue interprétée.

Différence entre la langue compilée et interprétée

Bases de la langue compilée et interprétée

- Un programme écrit dans une langue compilée doit être converti en un format différent avant qu'il ne soit exécuté. Le code source doit être transformé en instructions lisibles par la machine avant l'exécution. Une langue interprétée, au contraire, ne compile pas le code source dans le langage de la machine avant d'exécuter le programme. Il interprète simplement le code à la volée. Les langues interprétées nécessitent un logiciel appelé interprète, qui prend le code source et exécute une instruction à la fois.

Compilateur vs. Interprète

- Avec les langues compilées, il y a au moins deux étapes pour passer du code source à l'exécution, tandis qu'avec des langues interprétées, il n'y a qu'une seule - exécution. Un programme écrit dans une langue interprétée n'est pas compilé - il est interprété par un autre programme pendant qu'il s'exécute. Un programme écrit dans une langue compilée passe par un processus pour le changer de son format de texte lisible par l'homme en un format lisible par machine. Un programme appelé compilateur fait cette transition.

Convivialité

- Les programmes compilés s'exécutent plus rapidement que les programmes interprétés, mais les programmes interprétés peuvent être modifiés pendant l'exécution du programme. Cela rend les programmes interprétés idéaux pour écrire des logiciels de performance en direct. Travailler avec des langues compilés peut être agréable car de nombreux bogues sont trouvés lorsque le code source est compilé. Ces bogues, appelés erreurs de compilation, empêchent le code de compilation. Au contraire, les langues interprétées ne sont pas compilées, vous n'obtenez donc pas les avantages ou les inconvénients des erreurs de compilation.

Débogage

- Avec des langues interprétées, tout le débogage se produit au moment de l'exécution. Il n'y a aucune étape de compilation pendant laquelle vous pouvez lancer toutes les erreurs de syntaxe dans votre code; Au lieu de cela, vous devez exécuter le programme pour y trouver des erreurs. Cela devient un problème lorsque vous interprétez le programme modifie les fichiers ou apporte des modifications aux ressources permanentes. Cela rend certains bugs plus difficiles à attraper car le code n'a pas besoin de compiler. Les langues interprétées présentent également des problèmes de sécurité dans l'environnement en ligne comme un code malveillant peuvent être injectés à mi-parcours.

Langue compilée vs. Langue interprétée: graphique de comparaison

Résumé de compilé vs. Langue interprétée

En un mot, les langues compilées et interprétées ont leurs forces. Certaines langues nécessitent que tout votre code soit compilé avant que l'un des code ne puisse être exécuté. D'autres langues interprètent chaque instruction au moment où le code est exécuté. La principale différence entre les deux est qu'il y a au moins deux étapes pour passer du code source à l'exécution avec des langues compilées. Cependant, avec les langues interprétées, il n'y a qu'une seule étape - exécution. Les programmes compilés s'exécutent plus rapidement que les programmes interprétés, mais les programmes interprétés peuvent être modifiés pendant l'exécution du programme.