Compiler und Interpreter: Unterschied zwischen den Versionen
Aus FI-Wiki
| Zeile 68: | Zeile 68: | ||
=== Wie arbeitet Java? === | === Wie arbeitet Java? === | ||
Java nutzt | Java nutzt '''beide Prinzipien kombiniert''': | ||
# Compiler ('''javac''') → erzeugt Bytecode | # Compiler ('''javac''') → erzeugt Bytecode | ||
| Zeile 76: | Zeile 76: | ||
* plattformunabhängig | * plattformunabhängig | ||
* effizient | * effizient | ||
* sicher | * sicher | ||
=== Kurz gesagt === | === Kurz gesagt === | ||
Version vom 14. November 2025, 08:54 Uhr
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 syntaktische 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:
- Compiler (javac) → erzeugt Bytecode
- 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).
