Sie sind vermutlich noch nicht im Forum angemeldet - Klicken Sie hier um sich kostenlos anzumelden Impressum 
Sie können sich hier anmelden
Dieses Thema hat 0 Antworten
und wurde 695 mal aufgerufen
 Unterhaltsames, Grüße und Wünsche
Bussinchen Offline




Beiträge: 90

15.01.2012 01:36
Für Scotty Zitat · Antworten




Was Sprachen für Computer und Menschen trennt und verbindet:

Lingua communis





Was Sprachen für Computer und Menschen trennt und verbindet

Lingua communis

von Nils Magnus

Erschienen im Linux-Magazin 2009/07



Ob Programmieren Kunst oder Ingenieurswissenschaft ist, darüber haben schon viele debattiert. Eines eint beide Lager: Sie benötigen Sprache, um sich auszudrücken.

Sprache sei inhärent uneindeutig, mäkelte ein genervter Teilnehmer einer Online-Debatte, in dem sich die Diskutanten nicht über exakte Wortbedeutungen einig wurden. Entwickler haben es da einfacher. Die meisten Programmiersprachen sind ziemlich eindeutig. Die wenigsten lassen zu, dass Schreiber ihre Regeln verletzen.

Natürliche Sprachen sind anders. Oft sind es gerade die Verletzungen, die Literatur interessant machten. In seinem berühmten Lied "odi et amo" bricht der römische Dichter Catull eine Reihe von Grammatikregeln, schafft aber dadurch eines der dichtesten Liebesgedichte - ein "wc -c catull.txt" zeigt gerade einmal 87 Zeichen in zwei Zeilen an (Torsten Lorenz, "C. Valerii Catulli: Carmen LXXXV": http://www.hausarbeiten.de/faecher/vorschau/95573.html). Das erreicht er durch geschicktes Weglassen des Offensichtlichen und Vereinfachung. Solche Poesie vermag C nur schwer zu erreichen. Programmiersprachen haben meist andere Stärken, sind eindeutiger und unnachgiebiger. Viele kennen das: Der Compiler beklagt sich einmal mehr über die nicht deklarierte Variable "x" und moniert andererseits, dass der Code "y" vereinbart, aber nicht benutzt.

Verständnisvolle Computer

Mancher Programmierer mag sich schon Compiler gewünscht haben, die mehr Verständnis für offenkundige Tippfehler haben. Einige Programmiersprachen versuchen sich zaghaft in etwas Toleranz und schaffen so Gemeinsamkeiten: Perl erhebt es etwa zum Konzept, mehr als einen Weg zur Lösung zuzulassen (Mike Schilli bestimmt im Perl-Snapshot am Seite 114 die Restlaufzeit seines Netbook). Selbst Java FX (Vorstellung der neuen Web-Sprache ab Seite 98) gibt sich im Gegensatz zur großen Schwester Java großzügig: Um Objekt-Attribute abzutrennen, gibt die junge Sprache Kommata vor - fehlen sie, sieht der Compiler gnädig darüber hinweg. Solch Freiheit waren Fortran-77-Programmierer nicht gewohnt, forderte der Grammatikparser doch strenge Einrückungen (Fortran-Merkblatt zur Fixed Source Form: http://www.infosun.fim.uni-passau.de/cl/...-Merkblatt.html). Wer diesen Zeiten nachtrauert, darf sich mit Python trösten: Auch dort sind Einschübe syntaktische Sprachmittel (dafür lassen sich damit leicht Filesysteme schreiben, ab Seite 109).

Den Brückenschlag von der kalten, unerbittlichen Syntax zur Semantik, der Bedeutung hinter den Dingen haben viele versucht. Ketzerischerweise hat der Logiker Kurt Gödel das Streben nach ihm mit seinem berühmten Satz über die Unvollständigkeit zunichte gemacht: Nur mit syntaktischen Mitteln allein lässt sich nicht alles Wahre ergründen. Auch diese unerfüllte Sehnsucht eint Literaten und Techniker.

Ist das die Trennlinie zwischen Sprachen von Computern und Menschen? Die eine präzise und effizient, die andere ungenau, aber mit innerer Schönheit gesegnet? Das griffe zu kurz, Schönheit liegt im Auge des Betrachters. Für den einen ist

*v;main(a,b){for(a=atoi(1[v=b]);o(a),b=atoi(v[2])-a;a+=(b|1)%2);}
nur eine wirre Reihung von Zeichen (1. Kaiserslauterer Shortest C Contest 1995: http://www.unix-ag.uni-kl.de/~conrad/shocc/shocc.html), andere sehen darin verdichtete Gedanken wie in Catulls Gedicht, das sich auch ums Hassen und Lieben dreht.




Quelle:
http://www.linux-magazin.de/Heft-Abo/Aus...Lingua-communis







Zwei deutsche Übersetzungen:

Hassen und lieben zugleich muss ich. - Wie das? wenn ich's wüsste!
Aber ich fühl's, und das Herz möchte zerreißen in mir.

Ich hasse und liebe. Du fragst vielleicht warum ich das tue.
Ich weiß es nicht, aber ich fühle, dass es geschieht und es quält mich.


Odi (ich hasse) et (und) amo (ich liebe). Quare (warum) id (das) faciam (ich tue), fortasse (vielleicht) requiris (du fragst).
Nescio (ich nicht weiß). Sed (aber) fieri (geschehen) sentio (ich fühle) et (und) excrucior (ich gekreuzigt=gequält werde).





Bussinchen: Ich gehöre zu den Letzteren, seit ich Scottys Scrabble3D kenne . . . . .




I OpenSource!
• Scrabble3D Download: Sourceforge.net | • Scrabble3D Help: Wiki | • Scrabble3D News: Twitter | • Scrabble3D Fanship: Facebook
• Scrabble3D in Italia: Sezione Scrabble3D sul Forum della Federazione Italiana Gioco Scrabble

Angefügte Bilder:
scrabble3dechse.jpg  
 Sprung  
Xobor Forum Software von Xobor.de
Einfach ein Forum erstellen
Datenschutz