Zurück zur Übersicht

Begriff

Interpreter

Development Computer Science S1
2 Quellen 0 Lernpfade 1 Backlink enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Der Gegensatz zum Compiler. Der Interpreter ist wie ein Dolmetscher bei der UN. Er liest den ersten Satz (print("Hallo")), übersetzt ihn und führt ihn sofort aus. Dann liest er den zweiten Satz. Du musst nicht warten, bis das "Buch" fertig übersetzt ist. Du kannst Code sofort starten. Nachteil: Er muss jedes Mal neu übersetzen, auch wenn er die Zeile schon 1000x gesehen hat (in einer Schleife). Das kostet Zeit. Beispiele: Python, JavaScript, PHP, Ruby.

Merksatz: Ein Programm, das Quellcode Zeile für Zeile (oder Statement für Statement) liest, analysiert und direkt ausführt, ohne vorher eine ausführbare Datei zu erstellen.


Quick-Check

  1. Warum sind Skriptsprachen langsamer?
    Weil der Interpreter Overhead hat (Typen prüfen zur Laufzeit, Code parsen). C++ macht das alles vorher. Zur Laufzeit rennt C++ ungestört.
  2. Kann man C++ interpretieren?
    Ja (z. B. mit cling). Kann man Python kompilieren? Ja (z. B. mit Nuitka oder Cython). Die Grenze verschwimmt.
  3. Isomorphic JavaScript?
    Dank Node.js (V8 Interpreter auf dem Server) kann man denselben JS-Code im Browser und auf dem Server ausführen. Ein riesiger Vorteil für Fullstack-Entwicklung.