Shake your Style.

13.02.2009

Formale Sprachen sind cool.


Ich möchte heute mal ein Thema anschneiden, das mich schon lange begeistert: Formale Sprachen.

Im Informatikunterricht der 7. Klasse lernten wir QBASIC kennen, eine einfache Programmiersprache. Damit konnte man einen Ablaufplan schreiben, den der Computer dann zeilenweise abarbeitet. So konnte man den Computer mit dem Nutzer kommunizieren lassen, indem er auf Eingaben wartet und auf diese je nach Inhalt reagiert. Das hatte Magie. Wir schrieben in QBASIC „Quiz-Programme“. Sie haben dem Nutzer eine Frage gestellt, drei Antworten angeboten und eine Eingabe ("1", "2" oder "3") verlangt. Je nach Eingabe hat das Programm geantwortet „richtig“ oder „falsch“. Wenn man dieses selbstgeschriebene Programm dann mit 13 Jahren ausführt und zum ersten Mal auf dem Bildschirm des eigenen Computers sieht, wie es funktioniert, dann ist das ein Quantensprung, die Geburt eines kleinen Wunders. Etwas funktioniert nach selbstgemachten Regeln.

Von da an war Programmieren eine Art Hobby geworden. Später gab Gregor (Name aus rechtlichen Gründen geändert) mir aus Vatis Firma eine Kopie der Windows-Sprache DELPHI. Die Einarbeitung mit entsprechender Literatur aus der städtischen Bibliothek ging langsam aber sicher voran und plötzlich war es möglich, Windows-Anwendungen zu schreiben. Mit Stephan lieferte ich mir kleine Duelle im Programmieren. Zunächst waren es meistens Scherzprogramme, deren Sinn darin bestand, dass man sie nur mit viel Geschick beenden konnte oder erst nachdem man eine lange Folge merkwürdiger Meldungen mit „OK“ bestätigt hatte. Diese Nervtöter versteckten wir dann in den Autostart-Verzeichnissen der PCs von Erwachsenen oder der Schule. Später wurden auch kleine Spiele geschrieben.

Nicht lange darauf hat sich die Existenz des Internets herumgesprochen, und damit wurde HTML interessant, denn mal ehrlich, was gibt es denn cooleres, als eine eigene Internetseite? Mit entsprechenden Sonderausgaben von Computerzeitschriften war HTML leicht zu erlernen, da es keine richtige Programmiersprache, sondern nur eine Auszeichnungssprache ist. Die heute unumstrittene Standartreferenz SELFHTML hatten wir damals noch von irgendwelchen Heft-CDs geladen, um die Internetkosten zu sparen.
Als wir im Informatikunterricht 2 Jahre später mal etwas mit DELPHI und HTML „herumprobieren“ sollten, waren wir natürlich maßlos unterfordert und haben nur Unsinn gemacht. (Stephan hat in der Klausur zu DELPHI eine 4 gekriegt obwohl er es besser beherrschte als der Lehrer, was ich hier mal nebenbei als Diss an den schulischen Bewertungsmechanismus und natürlich den Lehrer festhalten muss.)

In der Klassenstufe 10/11 wurde die Analytische Geometrie durch den Unterricht von Herrn Riedel (positives Gegenbeispiel) zu einem neuen Erlebnis. Geometrische Objekte im Raum wie Geraden, Ebenen, Ellipsen und Kugeln konnten parametrisiert oder durch Vektorgleichungen formuliert werden. Plötzlich war es im Gegensatz zur „alten Schulgeometrie“ möglich, mit diesen Objekten tatsächlich rechnerisch zu hantieren und altbekannte Formeln (z. B. über die Seitenlängen von Dreiecken) richtig zu beweisen, statt sie einfach zu benutzen. Die Geometrie wurde durchschaubarer, dank Vektoralgebra.

Knapp drei Jahre später, am Anfang des Studiums (genau die erste Vorlesung) kam dann aber der Hammer, von dem ich mich immernoch nicht erholt habe: die Prädikatenlogik. Drei Eigenschaften machen diese Sprache faszinierend: 1. ihr äußerst allgemeiner Gegenstand (Aussagen), 2. ihre augenscheinliche Übereinstimmung mit unserer intuitiven Vorstellung von „Logik“ und 3. ihre Einfachheit. Meine 2 Blätter Mitschriften zu diesem Thema habe ich noch bildlich vor Augen. Sie sind die zerfleddertsten und mit Bemerkungen zugekritzeltsten Seiten, die ich noch nicht entsorgt habe.

Um den Computer praktisch zu nutzen, war es irgendwann nötig, bessere Programmiersprachen zu lernen und mit PYTHON, FORTRAN und C sind ein paar neue Spielzeuge bei mir zuhause. Schließlich durfte ich im Nebenfach Informatik einen Einblick in die Theorie der formalen Sprachen bekommen.

Wenn man eine formale Sprache definieren will, benötigt man wiederum eine Sprache, in der diese Definition erfolgt (sog. Metaprache). Das hielt ich immer für sowas wie den logischen Knackpunkt der Unmöglichkeit, formale Sprachen korrekt zu definieren. Allerdings wurde ich (scheinbar) eines besseren belehrt. Die sogenannte EBNF (Extended-Backus-Naur-Form) ist eine sehr einfache Metasprache, mit der man andere Sprachen eindeutig beschreiben kann. In einer kleinen Übungsaufgabe konnten wir sogar die EBNF-Sprache benutzen, um sich selbst zu definieren.

Das Unfassbare an formalen Sprachen ist, dass sie Dinge fassbar machen. Manchmal sogar sich selbst.

Ich bin dankbar, dass ich staunen kann.

3 Kommentare:

die_antje hat gesagt…

das klingt doch nach einem sehr spannenden werdegang, oder?
mich würde doch sehr interessieren, wie du in EBNF definiert wirst. und vielleicht bin ich ja nicht die einzige. denn ansonsten könnte ich dich ja auch persönlich am frühstückstisch fragen. doch das mache ich nun absichtlich nicht.

so, das war mein kommentar. leider hab ich das nicht so erlebt. einerseits, weil ich ja kein junge bin (in meiner klasse haben sich nur jungen für computer interessiert) und andererseits hab ich außerdem ja immer das argument, dass es das zu meiner zeit noch nicht so gab. haha

die_antje hat gesagt…

ach nee. ich hatte da grad einen totalen denkfehler. nicht man, als benutzer der sprache, kann sich selbst definieren, sondern die sprache kann sich selbst definieren. bisschen irreführend gewesen. entschuldigt, wenn ich hier verwirrung gestiftet haben sollte. ich hab mich (doch) am frühstückstisch aufklären lassen.

mattes hat gesagt…

feiner beitrag, clemens. bin hocherfreut über mal ein wenig aus dem nähkästchen der schönen jungendtage geplaudertes zu lesen.
ich selbst konnte ähnlich wie antje nicht auf den zug der formalen sprachen aufsteigen, weil erstens sich hingegen in meiner klasse nur mädchen für computer interessierten, welche ja eh uncool waren und deshalb nicht zur nachahmung einluden und zweitens, das wesentlich gravierende problem im namen herr samuel sein grausiges zentrum hatte . vom durch ihn ausgelösten werken-schock, hab ich mich ja augenscheinlich wieder einigermaßen erholt.

desweiteren toleriere ich eure heimlichtuereien am frühstückstisch mit nichten und finde dies ganz und gar nicht "voll bullig", weil sie dem grüppchenbildungsprinzip entsprechen und elitär erscheinen. das steht mir bis hier!