Hallo Experten,
könnte mir jemand mal den Unterschied zwischen einen Compiler und einem Interpreter erklären?
Vielen Dank
Stefan
Hallo Experten,
könnte mir jemand mal den Unterschied zwischen einen Compiler und einem Interpreter erklären?
Vielen Dank
Stefan
Hallo Namensvetter ))
Beide, Interpreter und Compiler, dienen dazu, ein Programm, das in einer Programmiersprache geschrieben ist, in einen Code zu übersetzen, den ein Computer verstehen kann. Dieser Code wird Maschinen-Code oder Maschinen-Sprache genannt.
Ein Interpreter arbeitet das Hochsprachen-Programm Schritt für Schritt ab. Er nimmt sich einen Befehl, übersetzt ihn in Maschinensprache und führt ihn aus. Dann holt er sich den nächsten Befehl, übersetzt ihn und führt ihn aus …
Ein Compiler übersetzt das Hochsprachen-Programm an einem Stück. Alle Befehle werden in Maschinen-Sprache übersetzt und das fertige Maschinen-Programm wird abgespeichert. Nun kann dieses Maschinen-Programm ausgeführt werden.
Interpretierte Programme laufen daher viel langsamer als compilierte Programme. Denn die Analyse der Hochsprachen-Befehle kostet den Interpreter ja Zeit.
cu Stefan.
Hi Leutz!
Ich glaube, ich spinne! Welcher Idiot gibt denn für diesen Artikel 0 Punkte? Einfacher kann man es doch nicht mehr erklären. Nee, ich habe keine Lust mehr. Ich höre auf bei w-w-w. Das erspart mir viel Zeit und Ärger …
cu Stefan.
Nicht ganz
Hallo,
Ein Interpreter arbeitet das Hochsprachen-Programm Schritt für
Schritt ab. Er nimmt sich einen Befehl, übersetzt ihn in
Maschinensprache und führt ihn aus. Dann holt er sich den
nächsten Befehl, übersetzt ihn und führt ihn aus …
Nein, es gibt auch interpreter, die das ganze Programm analysieren, optimieren, und dann am Stück übersetzen.
Ein Compiler übersetzt das Hochsprachen-Programm an einem
Stück. Alle Befehle werden in Maschinen-Sprache übersetzt und
das fertige Maschinen-Programm wird abgespeichert. Nun kann
dieses Maschinen-Programm ausgeführt werden.
Bis auf das Apspeichern trifft dies auch auf Interpreter zu.
Interpretierte Programme laufen daher viel langsamer als
compilierte Programme.
Falsch. Das Programm läuft immer in Maschinensprache also gleich schnell ab. Der Unterschied ist nurt der:
Beim Interpreter wird das Programm bei jedem Start neu übersetzt und beim Compilieren nur einmal.
Das immer neu übersetzen beim interpretieren kostet zwar Zeit, aber wenn das Programm erstmal läuft, gibt es kaum einen Unterschied zum Kompilat. Es hat nur einen längere Anlaufzeit.
Warum also interpretieren ?
z.B. Portabilität => Ich kann das Programm ohne Änderungen auf jedem Rechner der den Interpreter installiert hat laufen lassen.
Ein Kompilat ist immer in der MAschinensprache einer bestimmten Plattform, ist also nicht portabel.
So und jetzt weisst Du vielleicht auch, warum es Leute gibt, die den Artikel mit 0 bewerten, wobei ich es nicht gut finde, einfach nur schlecht zu bewerten, statt sich die Mühe zu machen, es besser zu machen, bzw. die Fehler richtigzustellen…
Zusammen haben wir doch nun eine ziemlich gute Antwort gegeben…
Arne
Hi Baby
Nein, es gibt auch interpreter, die das ganze Programm
analysieren, optimieren, und dann am Stück übersetzen.
Diese heißen dann Compiler
Interpretierte Programme laufen daher viel langsamer als
compilierte Programme.Falsch. Das Programm läuft immer in Maschinensprache also
gleich schnell ab. Der Unterschied ist nurt der:Beim Interpreter wird das Programm bei jedem Start neu
übersetzt und beim Compilieren nur einmal.
Nein! Ein Interpreter arbeitet ein Programm Befehl für Befehl ab, er interpretiert jeden Befehl einzeln!
Das immer neu übersetzen beim interpretieren kostet zwar Zeit,
aber wenn das Programm erstmal läuft, gibt es kaum einen
Unterschied zum Kompilat. Es hat nur einen längere Anlaufzeit.
Du beschreibst, dass ein Quelltext vor seiner Ausführung komplett in Maschinen-Sprache übersetzt wird. Genau das macht ein Compiler. Bei deiner Version wird das fertige Maschinenprogramm dann nicht als Datei abgespeichert, sondern direkt ausgeführt! Trotzdem ist das, was da passiert, eine Compilierung. Kann man im berühmten „Drachenbuch“ über Compilerbau nachlesen
cu Stefan.
Hi Baby
Ich bin’s nochmal. Ich habe eben vom „Drachenbuch“ gesprochen. Jetzt bin ich zu Hause und kann es genauer angeben:
A.V. Aho, R. Sethi, J.D. Ullman
Compilerbau
Addison-Wesley
ISBN 3-89319-150-X Buch anschauen
Es ist die Bibel im Übersetzerbau. Ein Compiler ist ein Programm, das ein fertiges Maschinen-Programm erzeugt, das dann komplett ausgeführt wird. Ein Interpreter ist ein Programm, das ein Hochsprachen-Programm während der Laufzeit analysiert (Parse-Baum aufbauen) und gleichzeitig ausführt.
cu Stefan.