Kompilierte Sprachen werden vor der Ausführung in einem separaten Schritt vollständig in Maschinencode übersetzt. Dabei erzeugt ein Compiler aus dem Quelltext eine ausführbare Datei, die der Prozessor direkt ausführen kann.

So läuft die Kompilierung ab

Der Ablauf ist in mehrere Phasen gegliedert: Der Compiler prüft zuerst die Syntax, übersetzt dann den Quellcode in Zwischencode und erzeugt schließlich Objektdateien. Ein Linker fügt diese mit den benötigten Bibliotheken zusammen — am Ende steht eine eigenständige, ausführbare Datei.

quelltext.c --> Compiler --> Objektdatei --> Linker --> Programm.exe

Beispiele und Eigenschaften

Typische kompilierte Sprachen sind C, C++, Rust und Go. Der große Vorteil liegt in der Geschwindigkeit: Da der Maschinencode direkt vom Prozessor ausgeführt wird, sind kompilierte Programme oft deutlich schneller als Skriptsprachen, die zeilenweise interpretiert werden.

  • Ausführungsgeschwindigkeit: hoch, kein Interpreter zur Laufzeit nötig
  • Startzeit: sofort, kein Parsing beim Programmstart
  • Fehlererkennung: viele Fehler fallen schon beim Übersetzen auf

Nachteile

Dafür ist der Build-Prozess aufwendiger: Änderungen erfordern eine erneute Kompilierung, und das erzeugte Programm ist meist nur für eine Zielplattform nutzbar. Der Interpreter einer Skriptsprache ist hier flexibler, weil er den Code direkt ausführt.

Zwischen den beiden Polen liegen Mischformen wie Java, die erst in Bytecode kompiliert und dann von einer virtuellen Maschine ausgeführt werden. Auch Assembler erzeugen direkten Maschinencode, arbeiten aber auf einer viel niedrigeren Abstraktionsebene. Die grundlegende Einordnung liefert der Artikel Programmiersprache.