🧠 Programme sind für Menschen geschrieben. Computer können Programmiersprachen jedoch nicht direkt verstehen. Sie arbeiten ausschließlich mit sehr einfachen, maschinennahen Befehlen, die direkt vom Prozessor ausgeführt werden.
Damit ein Computer ein Programm ausführen kann, müssen die Anweisungen einer Programmiersprache daher übersetzt werden. Aus einer einzelnen Anweisung in einer Hochsprache entsteht dabei oft eine ganze Folge von einfachen Prozessor-Instruktionen.
Diese Übersetzungsarbeit übernehmen spezielle Programme. Man unterscheidet dabei vor allem zwischen Compilern und Interpretern.
🧱 Compiler – Übersetzen im Voraus Ein Compiler übersetzt ein Programm vollständig vor der Ausführung in Maschinencode. Das Ergebnis ist ein eigenständiges, ausführbares Programm.
Typische Eigenschaften:
🎮 Exkurs: Spieleentwicklung Leistungsintensive Spiele und Spiele-Engines werden häufig in C oder C++ entwickelt. Diese Sprachen werden kompiliert, weil Grafik, Physik und Spiellogik sehr schnell und direkt auf der Hardware ausgeführt werden müssen.
🧩 Interpreter – Übersetzen während der Ausführung Bei einem Interpreter werden Programmanweisungen schrittweise zur Laufzeit übersetzt und ausgeführt. Das Programm wird nicht vollständig im Voraus in Maschinencode umgewandelt.
Typische Eigenschaften:
🎮 Exkurs: Spielelogik In vielen Spielen werden zusätzliche Sprachen verwendet, um Spielregeln, Dialoge oder das Verhalten von Figuren zu steuern. Diese Teile werden oft zur Laufzeit ausgeführt, damit Anpassungen schnell möglich sind, ohne die gesamte Engine neu zu übersetzen.
🐍 Python zwischen Compiler und Interpreter Python ist eine allgemeine Programmiersprache, die beide Ansätze kombiniert.
Python besitzt damit sowohl eine Compiler-Ebene als auch eine Interpreter-Ebene.
💡 Übersetzen von Programmen
Compiler und Interpreter übernehmen die Aufgabe, Programme so zu übersetzen, dass sie vom Computer ausgeführt werden können.
Unterschiedliche Ansätze führen zu unterschiedlichen Stärken – Geschwindigkeit auf der einen, Flexibilität auf der anderen Seite.