(Programmier)-Sprachen


Sprachen sind dazu da mit Menschen zu kommunizieren während Programmiersprachen vom Menschen geschaffen wurden, zum mit Maschinen zu kommunizieren. Beides verfügt über ein eine gewisse Anzahl von Konzepten wie Grammatik, Vokabeln und Regeln.

Ich behaupte: Sprachen sind durch unsere Sozialisierung einfacher zu lernen als Programmiersprachen. Dafür verfügen Programmiersprachen über weniger Konzepte. Deswegen sind Programmiersprachen zwar easy to learn – but hard to master.

Programmieren ist wie Schach: Einfache Regeln aber ist schwer mit denen zu gewinnen.
Programmieren ist wie Schach: Einfache Regeln aber ist schwer mit denen zu gewinnen.

Auch wenn ich nicht gerade der Programmiergott 3000 bin, bilde ich mir ein, dass ich ein gewisses Verständnis der Programmierungsprachen besitze. Viele Sprachen wie php, Javascript, Java und ActionScript haben diverse Konzepte gemeinsam: Variablen, Objekte, Arrays, Schleifen, Typzuweisungen usw.

Programmieren ist wie Schach nur ohne Würfel

Nach meinem Verständnis ist das so wie bei einem Schachspiel: Die Regeln, nach denen die Figuren gezogen werden dürfen sind schnell erklärt: Der Bauer darf immer nur ein Feld nach vorne oder bei der Eröffnung zwei Felder nach vorne bewegt werden – außer er wirft eine Figur. Dann wirft er diese auf der diagonalen und besetzt den Platz der geschlagenen Figur. Bei einem Springer gelten wiederum andere Regeln als bei der Figur der Dame usw. Deswegen unterscheiden sich Sprachen stark von Programmiersprachen.

Sprachen vs. Programmiersprachen

Bei Englisch, Deutsch, Japanisch oder Latein sind die Regeln wesentlich komplexer und die Vokabeln sorgen dafür, dass man sich versteht – und nicht die Regeln wie man diese Vokabeln verknüpft. Bei der Programmierung kommt es darauf an die Regeln und Konzepte zu beherrschen. Die Vokabeln sind dabei sekundär während bei der menschlichen Sprache die Vokabeln das primäre Merkmal sind.

Oder etwa nicht?

Zum Thema

Neue Beiträge


41 Antworten

  1. Avatar von Chris
    Chris

    Ich finde Programmiersprachen grundsätzlich wesentlich einfacher zu lernen als natürliche Sprachen. Der Grund, warum man in natürlicher Sprache schon mit relativ wenig Vokabeln und fast keiner Regelkenntnis im Italienurlaub relativ weit kommt, ist der, dass Menschen fehlertolerant sind. Mein Gegenüber versteht in etwa, was ich meine, was toll ist. Trotzdem hat das, was ich da von mir gebe, mit Italienisch nicht wirklich viel zu tun. Ich könnte mich jetzt nicht hinsetzen und Gedichte oder gar einen Roman auf Italienisch schreiben.

    Easy to learn – hard to master gilt meines Erachtens also auch da. Vielleicht sogar noch eher als bei Programmiersprachen, denn gerade durch die Fehlertoleranz kann man prima aneinander vorbeireden, ohne das zu merken.

  2. Avatar von Ron
    Ron

    OK. Auch wenn ich Kopfschmerzen habe:

    Sprachen sind durch unsere Sozialisierung einfacher zu lernen als Programmiersprachen

    Kann man bestimmt auch drüber streiten aber lassen wir das mal so stehen.

    Dafür verfügen Programmiersprachen über weniger Konzepte

    Bei unserer Diskussion ging es darum, dass Programmiersprachen weitestgehend die gleichen Konzepte haben wie natürliche Sprachen. Klar: Sie sind streng formalisiert. Niemand würde ernsthaft versuchen damit zwischenmenschlich zu kommunizieren. Was Du eigentlich meinst: Unsere Sprache ist nicht deterministisch. Sie entwickelt sich weiter, weil wir als Individuen unsere Umwelt stets besser oder auch nur anders begreifen und uns untereinander abgleichen, damit wir weiterhin miteinander reden können. Die Welten in denen wir uns mit Programmiersprachen bewegen sind deterministisch. Trotz aller Vernetzung sind unsere Computer geschlossene Systeme. Die damit simulierten Welten haben zwar mittlerweile eine hohe Komplexitätsstufe erreicht, sind verglichen mit der unsrigen jedoch noch immer primitiv.

    Schach ist ein perfektes Beispiel für ein geschlossenes, sehr strengen Regeln unterworfenes System. Und ich denke, dass es als bewiesen gelten darf, dass wir uns mit Hilfe der formalen Programmiersprache perfekt in dieser Welt bewegen und alles ausdrücken können, was es dort auszudrücken gibt.

    Sobald wir also Systeme vollständig begreifen, können wir sie modellieren. Die Programmiersprache ist dann exakt so mächtig wie jede andere.

    Die Vokabeln sind dabei sekundär während bei der menschlichen Sprache die Vokabeln das primäre Merkmal sind.

    Dazu sage ich mal salopp: Wenn Du in einem Deiner Skripte vergisst, welche Bedeutung eine Variable in Deinem System hat, dann bist Du ganz schön am Arsch.
    (Vielleicht gehts dann aber noch oben im Code ;)

    So.

  3. Avatar von ben_
    ben_

    „Oder etwa nicht?“ – da heischt Du aber ein bisschen sehr billig um Kommentar, oder etwa nicht?

    Zur Sache: Wir stehen erst am Anfang der Geschichte der Programmiersprachen. Schon in den wenigen Jahrzehnten sind Programmiersprachen einfacher, verständlicher und mächtiger geworden. Ich hab das in „Wir schreiben Maschinen“ schon angedeutet und lege hier nochmal nach: Natürliche Sprachen und Programmiersprachen werden schon in wenigen Jahrzehnten eine neue, gemeinsame Form von Literalität (damit Du’s nicht googlen musst) hervorbringen.

  4. Avatar von Ron
    Ron

    Aaah. ben_ hat gestern gefehlt.

  5. Avatar von ben_
    ben_

    @Ron: Da möchte ich ein bisschen widersprechen. Also ja, ich hab gestern gefehlt.

    Und nein zum Ersten: Ich glaube, Programmiersprachen – insbesondere jene Umgebungen in denen wir uns bewegen, das Netz – sind nicht mehr wirklich deterministisch. Programmiersprachen entwickeln sich stetig weiter und, die Tatsache, dass man innerhalb bestehender Programmiersprachen/Systeme plrötzlich neue Wege findet und bessere Möglichkeite ist ein eindrücklicher Beweis dafür. Obendrein: Das Web mit seinen unmengen an URLs / Dokumenten und Ressourcen ist inzwischen an Komplexität und gerade vor dem Hintergrund seiner raschen Änderung kaum noch als deterministischer Raum zu bezeichnen.

    Und nein zum Zweiten: Der Glaube, dass Sprache und Welt nicht-deterministisch zusammenhänge ist eine steile These. Zum einen gibt es die Position, dass erst Sprache Welt modelliert. Wir haben 4 Worte für Schnee, Eskimos haben 20. Wieviele Sorten Schnee gibt es jetzt?
    Zum anderen gibt es die sturkturalistische Schule der Linguistik, die behauptet, dass auch natürliche Sprachen geschlossene Systeme sind und sich Bedeutung nicht über die Referenz zu zur realen Welt sondern nur über die Relation innerhalb des Zeichensystems ergibt. Genau, wie Schach.

Schreibe einen Kommentar

You have to agree to the comment policy.