MyLeoNes™

Wie Compiler Code in Programme verwandeln — Informatik, 14–17 Jahre

Ein von Menschen geschriebener Quelltext liegt noch nicht in einer Form vor, die ein Prozessor ausführen kann. Compiler und Interpreter stellen die Verbindung her: Sie prüfen den Code und übersetzen ihn in Aktionen.

Quelltext braucht einen Übersetzer

Quelltext wird für Menschen geschrieben und enthält Wörter wie print oder if. Ein Prozessor versteht viel einfachere Anweisungen. Deshalb übersetzt ein Compiler das ganze Programm vor dem Start, während ein Interpreter es Stück für Stück übersetzt und ausführt. Die beabsichtigte Aufgabe bleibt gleich.

Warum brauchen wir Übersetzung?

Das Problem: Menschen brauchen lesbare Namen und Strukturen, Prozessoren aber genaue Muster von Anweisungen. Frühe Programmierer konnten Maschinenbefehle direkt eingeben, doch das war langsam, fehleranfällig und schwer zu prüfen. Programmiersprachen und Übersetzer entstanden, damit man Aufgaben beschreiben konnte, ohne jedes Prozessordetail neu zu schreiben.

Von einer Zeile zu einer Aktion

Nehmen wir die Zeile print(2 + 3). Zuerst erkennt der Übersetzer print als Anweisung zum Anzeigen. Dann prüft er, ob 2 + 3 gültig ist, und berechnet 5 oder erzeugt Befehle, mit denen der Prozessor dies berechnet. Am Ende sendet das laufende Programm die 5 an den Bildschirm.

Ein Compiler repariert nicht alles

Ein häufiger Irrtum lautet: Wenn Code kompiliert, muss er richtig sein. Das ist verständlich, weil der Übersetzer Grammatik und einige Datentypen geprüft hat. Doch print(2 - 3) kann problemlos kompilieren und ein unerwartetes Ergebnis liefern. Ein Programm kann laufen und trotzdem das falsche Problem lösen. Übersetzung prüft die Form, nicht jede Absicht.

Wo Übersetzer wichtig sind

Wenn du eine kompilierte App installierst oder Code in einem Browser ausführst, hat ein Übersetzer dabei geholfen. Ein Compiler kann ein Spiel optimieren, damit es schnell reagiert; ein Interpreter macht es leicht, ein kleines Skript auf verschiedenen Systemen auszuprobieren. Die Wahl beeinflusst Tempo, Übertragbarkeit und die Sichtbarkeit von Fehlern.

Weiter erkunden

Andere Sprachen

MyLeoNes™ wird geladen…