Compiler und Interpreter

Aus FI-Wiki
Version vom 14. November 2025, 08:52 Uhr von Moettke (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Compiler und Interpreter == Programmiersprachen benötigen eine Übersetzung, damit der Computer den geschriebenen Quellcode ausführen kann. Dabei kommen zwei grundlegende Übersetzungsverfahren zum Einsatz: '''Compiler''' und '''Interpreter'''. === Was ist ein Compiler? === Ein Compiler übersetzt den gesamten Quellcode **auf einmal** in eine andere Form – meist in Maschinencode oder wie in Java in Bytecode. * arbeitet vollständig vor der Aus…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Compiler und Interpreter

Programmiersprachen benötigen eine Übersetzung, damit der Computer den geschriebenen Quellcode ausführen kann. Dabei kommen zwei grundlegende Übersetzungsverfahren zum Einsatz: Compiler und Interpreter.

Was ist ein Compiler?

Ein Compiler übersetzt den gesamten Quellcode **auf einmal** in eine andere Form – meist in Maschinencode oder wie in Java in Bytecode.

  • arbeitet vollständig vor der Ausführung
  • erzeugt eine neue Datei (z. B. *.class* bei Java)
  • überprüft den gesamten Code auf Fehler
  • führt das Programm erst nach der erfolgreichen Übersetzung aus

Beispiel (Java):

javac Programm.java      Programm.class

Eigenschaften:

  • schnelle Programmausführung
  • gut für große Programme
  • Fehler werden schon beim Kompilieren entdeckt

Was ist ein Interpreter?

Ein Interpreter übersetzt und führt den Quellcode **Schritt für Schritt zur Laufzeit** aus.

  • kein Erzeugen einer separaten Datei
  • liest den Code Zeile für Zeile
  • stoppt direkt beim ersten Fehler
  • häufig verwendet in Skriptsprachen

Beispiele:

  • Python
  • JavaScript
  • PHP

Eigenschaften:

  • sofortige Ausführung
  • ideal zum schnellen Testen
  • tendenziell langsamer als kompilierter Code

Vergleich: Compiler vs. Interpreter

Merkmal Compiler Interpreter
Übersetzung gesamte Datei auf einmal Zeile für Zeile
Ausführungsgeschwindigkeit schnell (optimierter Code) langsamer
Fehlererkennung Fehler bereits vor der Ausführung Fehler zur Laufzeit
Ergebnis erzeugt Datei (z. B. *.class*) keine separate Datei
Typische Sprachen Java, C, C++ Python, JavaScript, PHP

Wie arbeitet Java?

Java nutzt **beide Prinzipien kombiniert**:

  1. Compiler (javac) → erzeugt Bytecode
  2. JVM-Interpreter / JIT-Compiler → führt Bytecode aus

Dadurch ist Java:

  • plattformunabhängig
  • effizient
  • sicher

Kurz gesagt

  • Ein Compiler übersetzt den gesamten Quellcode vor der Ausführung.
  • Ein Interpreter führt den Code Zeile für Zeile direkt aus.
  • Java kombiniert beide Verfahren (Compiler → Bytecode → JVM).