Interpreter
Ein Interpreter (im Sinne der Softwaretechnik) ist ein Software-Programm, das nicht in Maschinensprache kodierte Programme einliest, analysiert, übersetzt und ausführt. Interpreter haben gegenüber Compilern den Vorteil, dass das interpretierte Programm auf allen Rechnerarchitekturen lauffähig ist, ohne dass es vorher neu übersetzt werden muss.
Der größte Nachteil der Interpretersprachen ist die im Vergleich zu compilierten Programmen deutlich langsamere Ausführungsgeschwindigkeit. Bei einem Interpreter findet die zeitintensive Übersetzung des Quellcodes in Maschinensprache zur Laufzeit des Programmes statt, und mehrfach durchlaufene Programmteile müssen immer wieder neu übersetzt werden, im Gegensatz zu einem Compiler, bei dem das Programm schon vorher übersetzt wird. Eine Kompromißlösung ist ein Just-In-Time-Compiler (JIT-Compiler), bei dem das Programm auch erst zur Laufzeit übersetzt wird, allerdings wir der übersetzte Code zwischengespeichert, so dass mehrfach durchlaufen Programmteile nur einmal übersetzt werden müssen. Auch ermöglicht der JIT-Compiler eine stärkere Optimierung des Binärcodes.
Bekannte Interpretersprachen sind Java, Perl, Python, Basic und viele andere.
Bei Java wird der Quellcode um die Geschwindigkeit zu steigern zuerst in einen Code übersetzt (compiliert), der dann von den Java-Interpretern verschiedener Betriebssysteme ausgeführt werden kann.