Schlechte Chancen Yoda als Programmierer gehabt hätte

Im letzten Artikel haben wir gelernt, dass ein Programm eine Abfolge aus Festlegungen und Befehlen ist. Es gibt aber noch einige weitere Grundlagen um das Programmieren zu verstehen: Einzelne Festlegungen und Befehle folgen bestimmten Regeln.

Um einen Programmcode für den Computer verständlich bzw. lesbar zu machen, wird der Code in Maschinensprache übersetzt. Dieses Übersetzen erfolgt mittels eines sog. Kompilers und wird kompilieren genannt. Das Ergebnis eines solchen Prozesses ist ein Kompilat.

Syntaxfehler

Ein Übersetzer, ob nun menschlich oder künstlich, kann einen Text, der in deutscher Sprache verfasst wurde, nur dann korrekt übersetzen, wenn der Text „richtig“ geschrieben ist. Der Text muss also gewissen Regeln genügen. Teil dieser Regeln ist bei natürlichen Sprachen der Satzbau. In den Programmiersprachen heißen diese Regeln Syntax. Zudem müssen semantische Fehler vermieden werden.

Nehmen wir als Beispiel den deutschen Satz: „Du musst noch viel lernen, junger Padawan!“. Einen solchen Satz können wir vergleichsweise leicht ins Englische übersetzen. Anders sieht das nun aus, wenn wir den Satz „falsch“ schreiben, das heißt nicht nach den Regeln des deutschen Satzbaus: „Noch viel lernen du musst, junger Padawan!“. Diesen Satz in korrektes Englisch zu übertragen fällt nicht nur schwerer, sondern ist auch nicht ohne weiteres möglich. Das Augenmerk liegt hier auf „korrektem Englisch“, Yoda würde uns wahrscheinlich trotzdem verstehen. Das liegt aber in diesem Fall daran, dass Yoda ein denkendes und vor allem ein interpretierendes Wesen ist.

Der Computer ist (inhärent) weniger intelligent als ein Mensch. Damit der Computer einen in einer Programmiersprache verfassten Satz eindeutig übersetzen kann, muss der Satz der Syntax der verwendeten Programmiersprache entsprechen. Beim Kompilier-Prozess kann der Computer einen „falschen“ Satz nicht verarbeiten, da nicht entschieden werden kann, ob der Satz nun ABC oder BCA heißen soll. Solche Fehler werden Syntaxfehler genannt. Der Kompiler kann am Ende nur genau ein Programm ausgeben und nicht mehrere.

Semantische Fehler

Nun zu den semantischen Fehlern. Wenn wir uns den obigen Satz noch einmal vor Augen führen und in diesem ein Wort austauschen, hat der Satz plötzlich eine ganz andere Bedeutung: „Du musst noch viel lernen, junger Gouda!“. Wenn nun ein Mensch diesen Satz übersetzen möchte, ist er zwar als denkendes Wesen hoffentlich wenigstens irritiert, aber er kann den Satz trotzdem korrekt übersetzen. Bei Bedarf könnte ein Mensch rückfragen, ob du wirklich jungen Gouda meintest oder nicht doch mittelalten. Der Kompiler hingegen ist leider nur begrenzt denkfähig und hat daher noch nicht einmal die Fähigkeit, sich zu wundern. Ob du nun jungen Gouda, würzigen Emmentaler oder cremigen Frischkäse mit Doppelrahmstufe meintest, kann der Kompiler nicht herausfinden: Alles Käse!

Wenn wir wollen, dass der Computer uns auf dem Bildschirm „Hallo, Welt!“ ausgibt, müssen wir ihm auch diesen Befehl geben. Falls wir im Code jedoch „Hallo, Pont-l’Évêque!“ schreiben, so wird er das auch auf dem Monitor ausgeben. Semantische Fehler sind also syntaktisch richtige, aber inhaltlich fehlerhafte Sätze in Programmen.

Mein erstes Mal

Um das Gelernte endlich auch mal ausprobieren zu können – Ja, wir Programmieren gleich das erste Mal! – müssen wir zuerst noch eine Plattform zum Programmieren einrichten.

Neben dem expliziten Kompilieren von Code, gibt es noch eine zweite Möglichkeit dem Computer Code verständlich zu machen: Die Verwendung eines Interpreters. Der Unterschied zwischen einem Kompiler und einem Interpreter ist im Grunde sehr überschaubar. Der Kompiler übersetzt ein Programm in Maschinensprache und erzeugt eine ausführbare Datei. Ein Interpreter übersetzt ein Programm ebenfalls, jedoch tut er dies ohne dabei eine Programmdatei zu generieren. Er sorgt dafür, dass der Computer den Code direkt versteht.

Wir werden mit der Programmiersprache Python in der Version 3 arbeiten. Python gehört zu den Programmiersprachen, die interpretiert werden. Wie bereits im Artikel über diese mysteriöse Schlange beschrieben wurde, kann man den Python3 Interpreter lokal auf seinem PC installieren. Da wir uns jedoch glücklicherweise im Zeitalter der Web-Apps befinden, haben wir auch die Möglichkeit uns die Installation zu sparen und direkt loszulegen. Mit dem Tool repl.it könnt ihr direkt ein Programm erstellen. Wenn ihr eure Werke speichern wollt, könnt ihr unter „Log In“ rechts oben einen Account erstellen oder euch mit eurem Google+ oder Facebook Account anmelden (Es wird ein Authentifizierungsverfahren verwendet, welches dafür sorgt, dass repl.it KEINEN Zugriff auf euer Passwort hat: Also keine Sorgen machen!).

Wenn ihr euch angemeldet habt, seht ihr die von euch erstellten Programme. Hier könnt ihr nun ein „New Repl“ erstellen oder „Continue with Python3“ auswählen. Wenn ihr ein neues „Repl“ erstellt, werdet ihr nach der gewünschten Programmiersprache gefragt, hier wählt ihr Python3.

Jetzt seid ihr im zwei geteilten Programmierfenster. Auf der linken, hell unterlegten Seite könnt ihr euren Code eingeben. Wenn ihr nun Code eingegeben habt und oben auf „Run“ klickt, wird eurer Programm ausgeführt und auf der rechten Seite, der sogenannten Konsole, wird eure Ausgabe angezeigt. Solltet ihr euch mal nicht auf der Seite zurechtfinden oder einfach nur neugierig sein, findet ihr ganz unten auf Repl.it immer einen Link zur Hilfeseite.

Los geht’s!

Information:
Der Befehl zur Ausgabe von Text auf der Konsole lautet in Python3 print.
Die Syntax zur Verwendung eines einfachen Befehls lautet: <BEFEHL>(<PARAMETER>).
Der Parameter eines Befehls sind die Daten, die ein Befehl für seine Aufgabe verwenden soll.
Wenn der Parameter eines Befehls aus Text besteht, muss dieser in Anführungszeichen gesetzt werden.

Beispiel:
print("Hallo, Welt!") – Diesen Code könnt ihr einfach mal kopieren und in repl.it einfügen.

Aufgabe:
Was gibt der Befehl len mit dem Parameter "Hallo, junger Padawan!" auf der Konsole aus?

Habt keine Angst Fragen zu stellen, auch zu obiger Aufgabe!

Beim nächsten Mal werden wir klären, wieso Text in Anführungszeichen geschrieben werden muss und lernen noch ein wenig mehr Programmieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.