Kompilieren

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

Typischerweise wandelt ein Compiler Code, der in einer höheren Programmiersprache wie C++, Rust oder Java geschrieben ist, in ausführbaren (ausführbaren) Code um — sogenannten Binärcode oder Maschinencode. WebAssembly ist beispielsweise eine Form von ausführbarem Binärcode, der aus Code, der in C++, Rust, C#, Go, Swift und verschiedenen anderen Sprachen geschrieben ist, kompiliert werden kann und auf jeder Webseite ausgeführt werden kann, mit den meisten Funktionen, die 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 (innerhalb eines Terminals oder einer Konsole) oder innerhalb einer IDE aufgerufen.

JIT-Compiler werden typischerweise nicht direkt aufgerufen, sondern sind stattdessen intern in Software-Runtimes eingebaut, um die Leistung zu verbessern. Beispielsweise verwenden alle großen Browser jetzt JavaScript-Engines, die eingebaute JIT-Compiler haben.

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

Siehe auch