Maison  >  Article  >  développement back-end  >  PHP est-il un langage compilé ou un langage interprété ?

PHP est-il un langage compilé ou un langage interprété ?

王林
王林original
2019-09-20 11:54:344824parcourir

PHP est-il un langage compilé ou un langage interprété ?

Langage compilé

Utiliser un compilateur spécialisé (similaire à Visual Studio sous Windows) pour cibler des plateformes spécifiques (systèmes d'exploitation). Un certain niveau élevé. Le code source du langage de niveau supérieur est "traduit" en code machine (y compris les instructions machine et les opérandes) exécuté par le matériel de la plate-forme en une seule fois et conditionné dans un format de programme exécutable (.exe) reconnu par la plate-forme. Cette conversion est appelée le processus. compilation.

Le programme exécutable compilé peut être séparé de l'environnement de développement et exécuté indépendamment sur une plateforme spécifique. Une fois certains programmes compilés, ils peuvent également avoir besoin de lier d'autres codes objet compilés, c'est-à-dire d'assembler deux ou plusieurs modules de code objet pour générer le programme exécutable final. De cette manière, une réutilisation du code de bas niveau est obtenue.

Le code de langue compilé est compilé une fois et utilisé à plusieurs reprises. Autrement dit, les prédécesseurs plantaient des arbres et les descendants profitaient de l’ombre.

C, C++, Objective-C, etc. sont tous des langages compilés.

Langage interprété

Le programme source est pré-compilé dans un langage intermédiaire avant l'exécution du programme, puis le langage intermédiaire est exécuté par l'interprète.

Chaque fois qu'un programme dans un langage interprété est exécuté, il doit être compilé une fois, de sorte que l'efficacité d'exécution des programmes en langage interprété est généralement faible et il ne peut pas s'exécuter indépendamment de l'interprète. C#, PHP, Python, Java, etc. sont tous des langages interprétés.

Langage compilé

Avantages

1. L'un des plus grands avantages du langage compilé est sa vitesse d'exécution. Les programmes écrits en C/C++ s'exécutent de 30 à 70 % plus rapidement que les mêmes programmes écrits en Java.

2. Les programmes compilés consomment moins de mémoire que les programmes interprétés.

Inconvénients

1. L'inconvénient - un compilateur est beaucoup plus difficile à écrire qu'un interpréteur

2. Pas beaucoup d'aide - combien de fois avez-vous rencontré une "exception de pointeur nul" dans votre code C et passé des heures à essayer de déterminer où se trouvait l'erreur dans le code.

3. Le code exécutable compilé est beaucoup plus volumineux que le même code interprété. Par exemple, un fichier .exe C/C++ est beaucoup plus volumineux qu'un fichier Java .class ayant les mêmes fonctionnalités.

4. Les programmes compilés sont spécifiques à la plateforme et donc dépendants de la plateforme.

5. Les programmes compilés ne prennent pas en charge l'implémentation de la sécurité dans le code - par exemple, un programme compilé peut accéder à n'importe quelle zone de mémoire et faire tout ce qu'il veut sur votre PC (la plupart des virus sont écrits dans des langages compilés) .

6. En raison d'une faible dépendance en matière de sécurité et de plate-forme, les langages compilés ne conviennent pas au développement d'applications Internet ou basées sur le Web.

Langage interprété

Avantages

1. Excellente prise en charge du débogage. Cela ne prend que quelques minutes à un programmeur PHP pour localiser et corriger une "exception de pointeur nul" car l'environnement d'exécution PHP indique non seulement la nature de l'exception, mais donne également le numéro de ligne spécifique et la séquence d'appel de fonction où l'exception se produit ( les fameuses informations de trace de pile). Une telle commodité n'est pas fournie par les langages compilés.

2. Les interprètes sont plus faciles à mettre en œuvre que les compilateurs

3 Excellente indépendance de la plate-forme

4. Haute sécurité - ceci est un besoin urgent pour les applications Internet

. 5. La taille du code du langage intermédiaire est beaucoup plus petite que le code exécutable compilé

Inconvénients

Il consomme plus de mémoire et de ressources CPU. En effet, pour exécuter un programme écrit dans un langage interprété, il faut d'abord exécuter l'interpréteur associé. Les interprètes sont des programmes complexes, intelligents, gourmands en ressources et ils consomment beaucoup de cycles CPU et de mémoire.

L'efficacité d'exécution est beaucoup plus lente que celle des programmes compilés. L'interpréteur effectue de nombreuses optimisations de code et contrôles de sécurité d'exécution ; ces étapes supplémentaires consomment plus de ressources et ralentissent davantage l'application.

Tutoriel recommandé : Tutoriel vidéo PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn