Warum Polyglot Programming nicht praxistauglich ist

Re: The greatest single programming language ever designed

Avatar von applefoo

applefoo

7 Beiträge

   E-Mail   
02.04.2012 00:14 Permalink
Ingo Ruhnke schrieb am 1. April 2012 23:53

> Das Problem mit Lisp sind nicht die Bibliotheken, sondern die
> Grundlegende Syntax. Eine Syntax die nur aus den ewig gleichen
> Klammern besteht ist schlichtweg nicht gut lesbar. Zuweisungen,
> Funktionsaufrufe, Array Zugriffe, Listen und Co. sollten auf einen
> Blick leicht zu unterscheiden sein, in Lisp sehen sie dagegen alle
> identisch aus und erst ein Blick auf den Funktionsnamen bringt
> Klarheit was den gerade wirklich passiert:

> (setf (aref lst 3) 10)

> vs

> lst[3] = 10


Das ist falsch. Lisp-Syntax besteht nicht aus Klammern.

Was Sie sehen ist die Syntax von S-expressions. S-Expressions sind
eine Syntax um Daten zu kodieren.

Lisp-Syntax funktioniert dann darüber. Nicht jede S-Expression ist
auch eine gültige Lisp-Form.

Zuweisungen, Funktionsaufrufe, Zugriffe, Array Zugriffe, etc. sind
auf einen Blick leicht zu unterscheiden. Ich brauche nur den ersten
Teil einer Liste lesen. In anderen Programmiersprachen muß ich
komplizierte Zeichen parsen. Der erste Teil der Liste ist auch mit
einem Pattern verbunden. Das kann man recht leicht abrufen.

Z.B. ist die Syntax für LET:

let ({var | (var [init-form])}*) declaration* form*

Das sieht dann in Lisp so aus:

    (let ((person 'john))
       (declare (type person symbol))
       (print person))

Ich lese nicht die Klammern, sondern ich lese die Struktur. Die
Struktur für Lisp habe ich mal gelernt. Neue Syntax zu lernen ist
auch relativ einfach, da verschiedene Varianten von Hierarchien immer
wieder verwendet werden. Ich weiss das auf LET eine Liste von
Bindings folgt. Jedes Binding ist typischerweise eine Liste aus
Variable und Wert. Darauf folgen Deklarationen. Nach den
Deklarationen kommt eine beliebige Menge von Lisp-Ausdrücken. Ähnlich
Syntax gibt es auch für andere Lisp-Formen.

Das zu lernen dauert ein paar Tage. Es ist wie Radfahren. Zuerst
erscheint Radfahren schwierig, wenn man es einmal gelernt hat, dann
ist es für den Rest des Lebens einfach.


Thread-Anzeige einblenden

Anzeige