[pkl] Programmierung und Notation / Programmier-Schriften bzw. tabellarische Programmierung

oliver oliver at first.in-berlin.de
Sa Jan 22 01:40:46 CET 2011


Hallo,

eben schaute ich mir den folgenden Vortrag an:

  http://www.subtextual.org/subtext2.html     (braucht Adobe Flash-Player zum Anschauen)



Ich fand den ganz interessant und gut gemacht und das erinnerte mich an die
Thematik Formalisierungen/Notationen/Schriften der Vorträge der "WAS WIRD
DENKEN HEISSEN?" Vorzträge aus Karlsruhe in 2010 (von denen ich allerdings
leider nur etwas mehr als einen mitbekam).


In dem Vortrag (obiger Link) geht es um Programmierung mit eher an Tabellenkalkulationen
erinnernde Systeme, statt an die textuellen Eingaben, die man beim Programmieren
her kennt.


Die Überraschung des Autors, daß die drei verschiedenen Ansätze

 1) if-then-else
 2) switch-case
 3) Polymorhismus (gemeint ist der Polymorphismus aus der OO-Programmierung)

in der tabellarischen Form (erinnernd an Signalflußpläne) alle das selbe Ergebnis
haben, finde ich verwunderlich. Wie soll es auch anders sein?
Es soll jaschliesslich die selbe programmlogik implementiert werden.


In einem Haskell-Einführungsbuch habe ich solche graphische Notation für Funktionale
Programmierung bereits finden können, und wer sich mit Schaltungstechnik auskennt,
dem sind solcherlei graphische Darstellungen ohnehin geläufig.

Insofern war das Erstaunen für mich erstaunlich, aber von OOP-Leuten muss man dieses
um die Ecke denken und einfache Lösungen nicht zu kennen, wohl erwarten. ;)

Dennoch finde ich den Vortrag interessant, wenn man die Thematik der Karlsruher
Konferenz mal berücksichtigt.

Der Vortrag endet damit, daß er das programmierung in dieser Tabellen-Weise
als zweidimensional ansieht und dazu aufruft, in diese Richtung zu gehen.

In der vorgestellten, "Subtext" genannten, exemplarischen Programmier"sprache"
(besser "Programmier-Notation"?) wurde diese Zweideimensionalität folgendermassen erreicht:
Actions ("Doing") in der Vertikalen, Decisions in der Horizontalen.

Ganz nett und über einfache Signalflußpläne hinaus gehend, war die interaktive
Benutzung, das Fokussieren auf einzelne Programmteile usw.
Das ist aber letztlich auch nur eine Software, die die Handhabung vereinfacht.

Mir erscheint die Art und Weise der Programmierung in dieser Weise
etwas langatmig, und das viele herum Geklicke finde ich lästig.

Es wird dort angeführt, nur so kann man die zweidimensionalität
gut abbilden.

Das sehe ich ein bischen anders.
Wer ML-Programmierung kennt, OCaml z.B., oder Haskell, kennt auch die match-patterns,
welche auch eine zweidimensionale programmstruktur ermöglichen, bloß daß
dort die Decisions vertikal untereinander angeordnet sind und die Actions
horizontal.

Die Tabellen sind da, weil interaktiv, wohl noch etwas komfortabler,
als pattern-matches. Die Klickerei wäre mir aber nix. ;)

Dennoch sicherlich eine Präsentation, die insofern beachtenswert ist,
als sie mit einigen eingefahrenen Stilen der Programmierung aufräumt.
Interessant, daß ich seit einigen Tagen eh darüber nachdenke, wie eine
Programmierung polykontexturaler Verknüpfungen gut machbar wäre...

...ob dies eher textbasiert, oder eher grafisch sinnvoll wäre...
...vermutlich wohl beides zusammen, da beides seine Vorteile hat.


Daß man heutzutage bei den meisten GUIs keine Integration von Shells hat und
stattdessen separate Shells in einem Desktop-Environment nutzt, die beide quasi
orthogonal zueinenader stehen, finde ich auch sehr bedauerlich.
Seit 20 jahren nix neues im Bereich der Software, nur neue, bunte Verpackung,
und etwas schneller als früher....


Gruß,
   Oliver



Mehr Informationen über die Mailingliste pkl