Compile

Kompilieren ist der Prozess der Umwandlung eines Computerprogramms, das in einer bestimmten Sprache geschrieben wurde, in eine Menge von Anweisungen in einem anderen Format oder einer anderen Sprache. Ein Compiler ist ein Computerprogramm, das diese Aufgabe ausführt.

Ein Compiler wandelt typischerweise Code, der in einer höheren Programmiersprache wie C++, Rust oder Java geschrieben wurde, in ausführbaren (lauffähigen) Code um – sogenannter Binärcode oder Maschinencode. WebAssembly ist zum Beispiel eine Form von ausführbarem Binärcode, der aus in C++, Rust, C#, Go, Swift und mehreren anderen Sprachen geschriebenem Code kompiliert werden kann und auf jeder Webseite ausgeführt werden kann, wobei die meisten Funktionen in modernen Browsern unterstützt werden (siehe Browser-Kompatibilitätstabelle).

Die meisten Compiler führen entweder Ahead-of-Time (AOT)-Kompilierung oder Just-in-Time (JIT)-Kompilierung durch.

Der GNU gcc Compiler ist ein bekanntes Beispiel für einen AOT-Compiler. AOT-Compiler werden typischerweise von der Befehlszeile in einer Shell-Umgebung (über ein Terminal oder eine Konsole) oder innerhalb einer IDE aufgerufen.

JIT-Compiler werden in der Regel nicht direkt aufgerufen, sondern sind in Software-Laufzeitumgebungen integriert, um die Leistung zu verbessern. Zum Beispiel verwenden alle großen Browser jetzt JavaScript-Engines, die eingebaute JIT-Compiler haben.

Compiler können auch zwischen höherstufigen Sprachen übersetzen – zum Beispiel von TypeScript zu JavaScript – in diesem Fall werden sie oft als Transpiler bezeichnet.

Siehe auch