(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 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).

  2. 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.

  3. 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?

  4. 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.

  5. 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