[Squeak-ev] Das fängt ja gut an

Andreas Raab andreas.raab at gmx.de
Don Dez 6 17:54:01 UTC 2007


Jürgen Beckmerhagen wrote:
> Im Moment erscheint mir Guido's Gedankengang in Bezug auf funktionale
> Programmiersprachen und die aufgezeigte Parallele zu Alan Kay's These
> "Die Revolution hat noch nicht begonnen" durchaus nachvollziehbar.
> Gerade die Assoziation "Revolution <-> Funktionale Programmierung" finde
> ich aeusserst spannend.

Das ist nicht die Assoziation die Alan damit im Sinn hat. Die 
"Revolution" is die Simulation und der sich daraus ergebende 
Erkenntnisgewinn, nicht irgendein Programmierparadigma. Wenn z.B. 
jedermann in der Lage ist die (ziemlich willkuerlichen) Behauptungen von 
Politikern zum Thema Global Warming trivial mal eben zu ueberpruefen, 
*dann* beginnt die Computer-Revolution. Und ob das mit Java, Haskell, 
Excel, oder Scratch passiert ist, mit Verlaub, sch****egal ;-)

> Funktionale Programmierung muendet in dynamischen und flexiblen Systemen
> - also genau dem Gegenteil von Systemen mit Objekt-orientiertem Entwurf
> und starker Typisierung. Letztlich ist Objekt-orientierte Programmierung
> i. d. R. imperative Programmierung, nur dass sich die Prozeduren auf
> eine genau definierte Datenstruktur beziehen. Dies erleichtert die
> Arbeit des Programmierers ungemein, loest aber auch nicht das Problem
> der aeusserst statischen Systeme.

Ich bin verwirrt: Was genau heisst "aeusserst statisch"? Und wie 
vermeiden funktionale Systeme das?

> Hinzu kommt, dass dem Anwender i. d. R. der Einblick in die Objekte, die
> er in seinem Computer benutzt, verwehrt bleibt. Der Anwender ist dumm
> und wird dumm gehalten. Imperative Vorgehensweise halt.

Und das ist anders bei funktionalen Systemen? Erlaeuter' das doch mal 
naeher.

> Was passiert, wenn "das Volk" lesen und schreiben lernt und Zugang zu
> den Erkenntnissen der Geistes- und Naturwissenschaften erhaelt, erfahren
> wir als Nach-1793er-Generation taeglich. Das Internet ist nur ein
> Beweis.
> 
> Wir Software-Architekten muessen langsam zugeben, dass wir das sichere
> und stabile System mit Objekt-orientierten Konzepten allein niemals
> bauen koennen.
> 
> In sofern ist das "One Laptop Per Child"-Projekt aeusserst spannend:
> Kinder werden auf Basis eines objekt-orientierten Systems in die
> funktionale Denkweise eingefuehrt: sie stecken sehr kleine Teile zu
> aeussert maechtigen System zusammen - genau das Prinzip der Funktionalen
> Programmierung!

Nein, das ist *modular* nicht funktional. Und gerade objektorientierte 
Systeme sind erstklassig in der Lage ein modulares Design umzusetzen.

Ciao,
   - Andreas