Heim  >  Artikel  >  Backend-Entwicklung  >  Ist PHP eine kompilierte Sprache oder eine interpretierte Sprache?

Ist PHP eine kompilierte Sprache oder eine interpretierte Sprache?

王林
王林Original
2019-09-20 11:54:344765Durchsuche

Ist PHP eine kompilierte Sprache oder eine interpretierte Sprache?

Kompilierte Sprache

Verwenden Sie einen speziellen Compiler (ähnlich Visual Studio unter Windows), um auf bestimmte Plattformen (Betriebssysteme) abzuzielen -Level-Sprachquellcode wird in Maschinencode (einschließlich Maschinenanweisungen und Operanden) „übersetzt“, der von der Hardware der Plattform gleichzeitig ausgeführt wird, und in ein von der Plattform erkanntes ausführbares Programmformat (.exe) gepackt. Diese Konvertierung wird aufgerufen Zusammenstellung.

Das kompilierte ausführbare Programm kann von der Entwicklungsumgebung getrennt und unabhängig auf einer bestimmten Plattform ausgeführt werden. Nachdem einige Programme kompiliert wurden, müssen sie möglicherweise auch andere kompilierte Objektcodes verknüpfen, dh zwei oder mehr Objektcodemodule zusammenstellen, um das endgültige ausführbare Programm zu generieren. Auf diese Weise wird eine Wiederverwendung von Code auf niedriger Ebene erreicht.

Kompilierter Sprachcode wird einmal kompiliert und wiederholt verwendet. Mit anderen Worten: Die Vorgänger pflanzten Bäume und die Nachkommen genossen den Schatten.

C, C++, Objective-C usw. sind allesamt kompilierte Sprachen.

Interpretierte Sprache

Das Quellprogramm wird vor der Ausführung des Programms in eine Zwischensprache vorkompiliert, und dann wird die Zwischensprache vom Interpreter ausgeführt.

Jedes Mal, wenn ein Programm in einer interpretierten Sprache ausgeführt wird, muss es einmal kompiliert werden, sodass die Ausführungseffizienz interpretierter Sprachprogramme normalerweise gering ist und sie nicht unabhängig vom Interpreter ausgeführt werden können. C#, PHP, Python, Java usw. sind allesamt interpretierte Sprachen.

Kompilierte Sprache

Vorteile

1. Einer der größten Vorteile der kompilierten Sprache ist ihre Ausführungsgeschwindigkeit. In C/C++ geschriebene Programme laufen 30–70 % schneller als dieselben in Java geschriebenen Programme.

2. Kompilierte Programme verbrauchen weniger Speicher als interpretierte Programme.

Nachteile

Der Nachteil – ein Compiler ist viel schwieriger zu schreiben als ein Interpreter

2 Nicht viel helfen – wie oft sind Sie in Ihrem C-Code auf eine „Nullzeiger-Ausnahme“ gestoßen und haben Stunden damit verbracht, herauszufinden, wo im Code der Fehler war.

3. Der ausführbare kompilierte Code ist viel größer als der gleiche interpretierte Code. Beispielsweise ist eine C/C++-EXE-Datei viel größer als eine Java-Class-Datei mit derselben Funktionalität.

4. Kompilierte Programme sind plattformspezifisch und daher plattformabhängig.

5. Kompilierte Programme unterstützen die Implementierung von Sicherheit im Code nicht – ein kompiliertes Programm kann beispielsweise auf jeden Speicherbereich zugreifen und mit Ihrem PC alles tun, was es will (die meisten Viren sind in kompilierten Sprachen geschrieben). .

6. Aufgrund mangelnder Sicherheit und Plattformabhängigkeit sind kompilierte Sprachen nicht für die Entwicklung internet- oder webbasierter Anwendungen geeignet.

Interpretierte Sprache

Vorteile

1. Hervorragende Debugging-Unterstützung. Ein PHP-Programmierer benötigt nur wenige Minuten, um eine „Null Pointer Exception“ zu finden und zu beheben, da die PHP-Laufumgebung nicht nur die Art der Ausnahme angibt, sondern auch die spezifische Zeilennummer und Funktionsaufrufsequenz angibt, in der die Ausnahme auftritt ( die berühmten Stack-Trace-Informationen). Einen solchen Komfort bieten kompilierte Sprachen nicht.

2. Interpreter sind einfacher zu implementieren als Compiler

3. Ausgezeichnete Plattformunabhängigkeit

Hohe Sicherheit – das ist für Internetanwendungen dringend erforderlich

5. Die Größe des Zwischensprachencodes ist viel kleiner als die des kompilierten ausführbaren Codes

Nachteile

Es beansprucht mehr Speicher und CPU-Ressourcen. Dies liegt daran, dass zum Ausführen eines in einer interpretierten Sprache geschriebenen Programms zunächst der zugehörige Interpreter ausgeführt werden muss. Dolmetscher sind komplexe, intelligente und ressourcenintensive Programme, die viele CPU-Zyklen und Speicher beanspruchen.

Die Ausführungseffizienz ist viel langsamer als bei kompilierten Programmen. Der Interpreter führt zahlreiche Codeoptimierungen und Laufzeitsicherheitsprüfungen durch; diese zusätzlichen Schritte beanspruchen mehr Ressourcen und verlangsamen die Anwendung weiter.

Empfohlenes Tutorial: PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonIst PHP eine kompilierte Sprache oder eine interpretierte Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was ist eine PHP-Transaktion?Nächster Artikel:Was ist eine PHP-Transaktion?