(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?


Beitrag veröffentlicht

in

, ,

von

Kommentare

41 Antworten zu „(Programmier)-Sprachen“

  1. Avatar von ben_
    ben_

    Nebenbei: 10 hoch 157 möglichen URLs stehen 10 hoch 78 Atom im Universum gegenüber. Soviel zur Endlichkeit.

    1. Avatar von Marc
      Marc

      Letzteres hat Ben uns gerade anschaulich vorgerechnet. Beeindruckend. Wirklich beeindruckend.

    2. Avatar von Ron
      Ron

      Tssss. Als wäre das Netz ein vom Raum entkoppeltes Komplement. Als bestünden Bits nicht letztlich aus Atomen. Als wären die URLs schon belegt. Effekthascherei! Skandal!

  2. Avatar von Tobias
    Tobias

    Kann es sein, dass die Bauern sich in deinem Schachspiel seltsam bewegen?

  3. Avatar von Louie
    Louie

    Meiner Meinung nach sind Programmiersprachen keine Sprachen im herkömmlichen Sinne, sie werden nur als solche bezeichnet.

    Echte Sprache dient zur Kommunikation, sprich zur Übermittlung von Informationen, während Programmiersprachen Befehslgerichtet sind: Ich befehle einem System (dem Programm / Videospiel, etc.) eine bestimmte Aktion auszuführen.

    Programmiersprache ist damit also immer auf eine bestimmte Aktion gerichtet, während Sprache lediglich Informationen übermittelt und gegebenenfalls eine Gegenreaktion auslöst. Das ist also der berühmte Vergleich zwischen Äpfel und Birnen ;-)

    Zum Thema modelliert Sprache die Welt: Sicherlich nicht. Es muss nicht zwingend Sprache sein, welche ein Individuum seine Welt auf eine bestimmte Weise wahrnehmen und Dinge erkennen lässt. Prinzipiell sollte man hier doch eher von „Information“ im Allgemeinen sprechen oder? Information macht uns zu dem was wir sind. Die Art von Information die ich erhalte beeinflusst meine Wahrnehmung jedoch erheblich. Also trägt Sprache durchaus etwas dazu bei. Ohne Information existiert auch keine Welt, zumindest subjektiv.

  4. Avatar von Louie
    Louie

    Die Bauern in deinem Spiel bewegen sich übrigens wirklich etwas komisch. Seit wann dürfen Bauernd denn horizontal ziehen? :-)

  5. Avatar von Tobias
    Tobias

    Und beim Werfen eher diagonal wenn ich mich recht entsinne…

    1. Avatar von Marc
      Marc

      Ja-ha. Ich habe den Artikel Nachts um 1 geschrieben mit etwas Wein drin. =)

  6. Avatar von Ron
    Ron

    Echte Sprache dient zur Kommunikation, sprich zur Übermittlung von Informationen, während Programmiersprachen Befehslgerichtet sind: Ich befehle einem System (dem Programm / Videospiel, etc.) eine bestimmte Aktion auszuführen.

    Nein. So primitiv sind Programmiersprachen längst nicht mehr. Auf die ganz alten Lochkartensysteme mag das evtl. zutreffen. Das war es dann aber auch.

    1. Avatar von Chris
      Chris

      So primitiv ist vor allem natürliche Sprache nicht. Wichtig ist da nicht nur, was du sagst, sondern vor allem auch, wie du es sagst. Neben der reinen Sachinformationsebene (so ist das!) und einer eventuellen Appell-Ebene (ich will dies und das von dir!) steckst du mit praktisch jeder sprachlichen Äußerung auch noch ab, wo du stehst (Selbstoffenbarungsebene), und wo deiner Meinung nach die Anderen stehen (Beziehungsebene).

  7. Avatar von Louie
    Louie

    Ron: Sorry wenn ich hier nicht so gut informiert bin, auf dem Gebiet kenne ich mich zugegeben nicht so gut aus ;-)

    Prinzipiell möchte ich bei den Programmiersprachen aber dennoch eine bestimmte Aktion erreichen oder nicht? Das impliziert zumindest das Wort.

  8. Avatar von Marc
    Marc

    Also ich habe das bis jetzt so verstanden: Sprache und Programmiersprachen haben eines gemeinsam: Sie modellieren etwas. In dem einen Fall die Welt die uns umgibt und im anderen Fall ein Programm. Deswegen sind sich diese beiden Dinge ähnlicher als man zuerst denken mag. Kann man das so sagen?

  9. Avatar von Louie
    Louie

    @Marc: Wir verzeihen dir. Aber auch nur weil der Rest des Artikels eine so spannende Diskussion hervorgebracht hat ;-)

    @ Ron: Falls du übrigens darauf anspielst, dass ich dem System die richtigen Informationen geben muss, da es diese ja auch „interpretieren“ können sollte ändert das aber nicht meine These: Programmiersprachen sind dennoch zielgerichtet und wollen eine bestimmte Aktion auslösen. Der Grund weshalb Sprache eingesetzt wird liegt in der Kommunikation und der sozialen Komponente. In dieser Hinsicht haben Programmiersprache und Sprache dennoch nichts gemeinsam. Zumindest solange mein Computer geistig nicht auf einer Höhe mit mir ist werde ich aus anderen Gründen an ihm „Sprache“ anwenden als bei meinen Mitmenschen.

  10. Avatar von Louie
    Louie

    @ Marc: Stimmt schon. Wobei natürlich nicht nur Sprache modellieren kann, sie ist dazu aber sicher am besten geeignet.

    Was vielleicht auch einen Unterschied macht: Der Programmiersprache liegt immer irgendwo ein schöpferischer Akt zugrunde. Ich greife quasi aktiv in ein System ein. Die Sprache kann nur beschreiben, jedoch nicht aktiv verändern. Oder?

Schreibe einen Kommentar

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