Runtime (Laufzeitumgebung) ist die Umgebung, in der ein Programm während seiner Ausführung läuft. Sie stellt dem Code Dienste bereit, die er zum Funktionieren braucht — von der Speicherverwaltung über Bibliotheken bis zur Ein-/Ausgabe.
Was gehört zur Runtime?
Eine Runtime umfasst typischerweise:
- Speicherverwaltung: Allokation und Freigabe von Arbeitsspeicher, oft mit automatischer Bereinigung (Garbage Collection)
- Standardbibliothek: vorgefertigte Funktionen für Dateien, Netzwerk und Datentypen
- Interpreter oder Just-in-Time-Compiler: Ausführung von Bytecode oder Zwischencode
- Sicherheitsgrenzen: Zugriffskontrolle und Isolation des Programms
Interpretierte und kompilierte Sprachen
Bei interpretierten Sprachen wie Python oder JavaScript ist die Runtime der Interpreter selbst — er führt den Quellcode direkt aus. Bei kompilierten Sprachen wie C oder Rust ist die Runtime oft kleiner: Das Programm wird vorab in Maschinencode übersetzt und benötigt nur wenige Laufzeit-Bibliotheken.
Beispiele bekannter Runtimes
- Java Virtual Machine (JVM): führt Java-Bytecode plattformunabhängig aus
- Node.js: JavaScript-Runtime für Server und Kommandozeile
- .NET Runtime (CLR): führt C#- und F#-Programme aus
- CPython: die offizielle Python-Runtime
Runtime-Fehler
Fehler, die erst während der Ausführung auftreten, heißen Laufzeitfehler — zum Beispiel der Zugriff auf eine ungültige Speicheradresse oder eine Exception wie „Datei nicht gefunden". Sie sind die häufigste Fehlerklasse in der Praxis und werden oft durch Tests oder Fehlerbehandlung abgefangen.
Verwandte Grundlagen: Kompilieren, Interpreter, Stack.