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?

Beteilige dich an der Unterhaltung

41 Kommentare

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

  2. @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 ;)

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

  3. 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. HTML ist aber keine Programmiersprache sondern eine Auszeichnungssprache. =P

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

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

Wie kann ich mich verifizieren lassen?