Kann mir jemand kurz erklären, was ein Compiler und ein Interpreter ist und wo der genaue Unterschied liegt?

3 Antworten

Ein Compiler übersetzt ganz allgemein ein Program von einer in eine andere Sprache. Meist ist damit eine Übersetzung aus einer höheren Sprache in eine maschinennähere gemeint, etwa C++ nach Assembler.

Ein Interpreter führt ein Programm aus, ohne es zu übersetzen. Er tut einfach das, was im Programm steht.

Als Analogie kannst du Kochrezepte ansehen: Der Compiler liest das Kochrezept und schreibt es, in einer anderen (ggf. leichteren) Sprache auf. Damit ein anderer, der diese zweite Sprache beherrscht, direkt damit loskochen kann. Dabei kann er auch Vereinfachungen vornehmen, die Reihenfolge ändern oder Zutaten durch äquivalente ersetzen - Hauptsache am Ende kommt das korrekte Gericht heraus. Der Compiler wird danach fürs Kochen nicht mehr gebraucht.

Der Interpreter hingegen liest das Kochrezept und arbeitet es Stück für Stück ab. Er kocht quasi für dich. Jeder der ein Kochrezept nicht selbst versteht muss sich den Interpreter holen, ihn an den Herd stellen, und ihm das Rezept vor die Nase halten. Jedes verdammte Mal. ;)

1234567531 
Fragesteller
 20.10.2021, 19:15

Kannst du meine neuste Frage beantworten…🙏

0

Kurz gesagt: Ein Compiler übersetzt den Quellcode bevor er ihn ausführt, ein Interpreter übersetzt ihn während er ihn ausführt (Zeile für Zeile)

Ein Compiler übersetzt das in einer Anwendungsorientierten Sprache geschriebene Programm in ein Maschinenprogramm und prüft es auf Syntaxfehler bevor eine Berechnung erfolgen kann.

Ein Interpreter übersetzt während der Rechnung Schritt für Schritt das Programm, ohne auf Fehler zu prüfen.

In compilierten Programmen können zwar noch logische Fehler enthalten sein aber keine Syntaxfehler mehr. In interpretierten Programmen können Syntaxfehler noch jahrelang unentdeckt bleiben.