(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

    @Louie: Na klar reden wir nicht in Programmiersprachen. Die Behauptung ist jedoch: Man könnte es. Dass das gesagte dann noch interpretiert werden muss ist hingegen eine Leistung, die wir perfekt beherrschen. In Exception Behandlung sind wir ganz groß. Das nennt man dann u.a. Inferenz und das ist meines Wissens nicht die Aufgabe eines Interpreters und ebenfalls nicht mehr Thema des Threads.

    Das mit der Aktion ist mir etwas zu wage. Was genau ist eine Aktion und wann genau wollen wir mit natürlicher Sprache dann keine Aktion bewirken – und sei es nur das zuhören.

  2. Avatar von Ron
    Ron

    By the way Marc. Das mit dem Bauern ne. Ganz großes Tennis ;)

    1. Avatar von Marc
      Marc

      Es war spät und die Worte waren nicht meine Freunde =)

  3. Avatar von Mischa
    Mischa

    Sprache ist auch „easy to learn-but hard to master“ oder beherrscht du die englische Sprache so gut das es einem Nativespeaker nicht auffällt? Ich kann hier leider nichts über Programmiersprache schreiben denn das ist mir zu nerdig und auch die anderen Kommentare übersteigen meinen Intellekt um Kilometer. Aber vielleicht konnte ich genug Unruhe stiften mit meinem Kommentar.

  4. Avatar von Missingno.
    Missingno.

    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.

    Und wie kommst du mit diesen Prämissen auf deine Aussage?

    Sprachen und Programmiersprachen sind meiner Meinung nach Grundverschieden.

  5. Avatar von ben_
    ben_

    @Missingno: Punkt.

    1. Avatar von Marc
      Marc

      Der Artikel war auch nur als Basis gedacht. Ich akzeptiere, dass Programmiersprachen mehr mit Sprachen gemeinsam haben als mit irgendetwas anderem.

  6. Avatar von Jörn Clausen
    Jörn Clausen

    Ich bin heute auf eine Interview-Serie bei Computerworld gestoßen, in der die Entwickler diverser (älterer) Programmiersprachen befragt werden: Larry Wall (Perl), Bjarne Stroustrup (C++), Alfred Aho (AWK), Simon Peyton-Jones (Haskell) und noch eine ganze Reihe mehr. Der aktuelle Artikel, der links auf die anderen enthält, ist mit Steve Bourne, Autor der gleichnamigen Shell.

    Larry Wall geht ganz kurz direkt auf den Bezug von natürlicher Sprache und Programmiersprachen ein. Insbesondere die Möglichkeit, in natürlicher Sprache das gleiche auf unterschiedliche Weise auszudrücken, was dann in Perl zu TIMTOWTDI geführt hat. Er geht auch kurz auf den Aspekt ein, dass die Programmiersprache den Erwartungen der Benutzer angepasst sein muss. An anderer Stelle hat er mal gesagt: Das Entwickeln von Programmiersprachen ist 10 Prozent Informatik und 90 Prozent Psychologie.

    Ich finde übrigens nicht, dass das Erlernen einer Programmiersprache so viel anders ist, als das Erlernen einer natürlichen Sprache. Eine Progammiersprache lernt man ja nicht dadurch, dass man die sie erzeugende Grammatik auswendig lernt, sondern indem man in ihr programmiert. Auch wenn man nach einem Jahr Englischunterricht noch keine fehlerfreie Unterhaltung mit einem native speaker führen kann, kann man sich doch irgendwie verständlich machen. Genauso kann man in vielen Programmiersprachen schon nach kurzer Zeit Programme schreiben, die das tun, was man will – wenn auch nicht auf die eleganteste und prägnanteste Weise, die mit dieser Sprache möglich wäre. Da muss man dann eben üben, Vokabeln lernen, Fehler machen und daraus lernen.

  7. Avatar von ron[unterstrich]
    ron[unterstrich]

    @Jörn: Schöne Links und ein sehr treffender Kommentar. 10% Informatik – puuuh. Frage mich gerade wie viel das Benutzen einer Sprache noch mit Informatik zu tun hat ;)

  8. Avatar von ben_
    ben_

    Glückwunsch zu vier Jahren Bloggen überigens.

    1. Avatar von Marc
      Marc

      Oh!!! Vielen Dank! Ich komme im Moment zu nix hier und da habe ich das gar nicht gemerkt =)

  9. Avatar von Stulle
    Stulle

    Moin,

    nachdem ich mein Webleben wieder aktiviere, ja, mein Blog macht auch mal wieder Fortschritte, wollte ich auch mal was dazu sagen.

    In den letzten Jahren durfte ich zwei verschiedene Sprachen (Dänisch und DGS) erlernen. Ausserdem habe ich mich tiefer mit XML/XSLT/XPATH und Programmierung in OO PHP sowie einigen netten Dingen in Java.

    Generell gebe ich dir Recht, dass gesprochene Sprachen eher ihren Wert auf die Volabeln legen, dies gilt aber nicht für alle. Grade in der DGS (Deutsche Gebärden Sprache) hat nämlich eine einzelne Vokabel nicht unbedingt einen losgelösten Sinn, da Sie sowohl ein Verb, ein Hauptwort oder auch „nur“ irgend ein Beiwort sein kann.

    In der Programmierung verhält es sich aber aus meiner Sicht ähnlich. Klar, der Compilter/Interpreter ist nicht unbedingt fehlertolerant, aber mal ganz ehrlich, was macht denn ein Browser mit fehlerbehaftetem HTML? Genau, er versucht es zu korrigieren.

    Bei Hochsprachen führt dies zu ganz anderen Problemen.

    Aber es ist das ewig gleiche Lied: manchmal gibt es innerhalb einer Gruppe mehr unterschiede, als zwischen verschiedenen Gruppen. Das habe ich grade in Anbetracht von Gender Mainstreaming durch Anne lernen können. ;)

    LG Stulle

    1. Avatar von Marc
      Marc

      HTML ist aber keine Programmiersprache sondern eine Auszeichnungssprache. =P

    2. Avatar von Stulle
      Stulle

      ;) Jipp, trotzdem sollte man sie im Bereich der Programmiersprachen mit aufnehmen, wenn man diese als Sprachen für Computer bezeichnen will. ;)

      Weißt ja, was ich meine.

      LG Stulle

  10. Avatar von antipsychkiller
    antipsychkiller

    ich danke euch für diese informationen. nun habe ich eine frage. in welchem programm kann ich am meisten phyton lernen ?

    sry wegen der kleinschreibung

Schreibe einen Kommentar

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