Wir schreiben ein Computerprogramm im Allgemeinen in einer Hochsprache. Eine Hochsprache ist eine Sprache, die für uns Menschen verständlich ist. Das nennt man Quellcode.
Ein Computer versteht aber keine Hochsprache. Er versteht nur das Programm, das in 0en und 1en in Binärform geschrieben ist, den sogenannten Maschinencode.
Um den Quellcode in Maschinencode umzuwandeln, verwenden wir entweder einen Compiler oder einen Interpreter.
Beide, Compiler und Interpreter, werden verwendet, um ein in einer Hochsprache geschriebenes Programm in Maschinencode umzuwandeln, der von Computern verstanden wird. Es gibt jedoch Unterschiede zwischen der Arbeitsweise eines Interpreters und eines Compilers.
Interpreter vs. Compiler
Interpreter | Compiler |
---|---|
Übersetzt Programm eine Anweisung nach der anderen. | Scannt das gesamte Programm und übersetzt es als Ganzes in Maschinencode. |
Interpreter benötigen in der Regel weniger Zeit für die Analyse des Quellcodes. Die Gesamtausführungszeit ist jedoch vergleichsweise langsamer als bei Compilern. | Compiler benötigen in der Regel viel Zeit für die Analyse des Quellcodes. Die Gesamtausführungszeit ist jedoch vergleichsweise schneller als bei Interpretern. |
Es wird kein Objekt-Zwischencode erzeugt, daher sind sie speichereffizient. | Erzeugt Objekt-Zwischencode, der weiter gelinkt werden muss und daher mehr Speicher benötigt. |
Programmiersprachen wie JavaScript, Python, Ruby verwenden Interpreter. | Programmiersprachen wie C, C++, Java verwenden Compiler. |