[Python-de] "Funktionalitaet" von Python

Dinu Gherman gherman at darwin.in-berlin.de
Sat Aug 31 11:17:41 EDT 2002


Thilo Ernst <Thilo.Ernst at dlr.de>:

> Bezüglich feingranularer Parallelität hat zwar das funktionale Dogma
> wohl den genannten Vorteil, aber a) wer braucht die wirklich und b) wer 
> mag dafür schon immer 100% seiteneffektfrei programmieren (müssen)?

Das uebliche Argument: wer braucht einen Tera-Hertz-Prozessor? Die, die 
ihn haben! Apple verbaut uebrigens offenbar nur noch Multi-Prozessoren
in den neuen (Desktop) Power Macs...!

> Das Modularisierbarkeitsargument kaufe ich nicht. Jede lumpige impera-
> tive Hochsprache bietet volle Kontrolle darüber, was über Modulgrenzen
> hinweg passiert, ohne dass Compiler/Interpreter damit ein Riesenproblem
> hätten. (OK, fast jede.)

Es geht gar nicht um Module wie sie etwa seit Modula-2 verwendet werden.
Viel mehr geht es um eine Zerlegung von "Anwendungslogik" in unabhaengi-
ge kleine Komponenten (eben "Funktionen"), die man mit entsprechenden 
"Meta-Funktionen" und "lazy evaluation" (verzoegerte Auswertung?) sehr 
schick (und bisweilen sehr kompakt) kombinieren kann. Hier ein guter Ar-
tikel dazu: http://www.math.chalmers.se/~rjmh/Papers/whyfp.html

Im OOP-Paradigma und speziell bei dynamisch typisierten interpretierten 
Sprachen wie Python ist ähnliches zwar nicht unmöglich (weil Funktio-
nen z.B. wie Objekte behandelt werden koennen und man neurdings auch
Generatoren hat), aber in der Regel muss man dann doch zu intensiverem 
"OO-Weihwasser" greifen, wie ich hier einmal Entwurfmuster kuehn beze-
nen moechte, um solche feingranulierte Modularitaet zu bekommen (die
dann ironischerweise doch sehr schnell in die klassische Modulebene 
"transzendiert").

> Täusch Dich nicht, solche Dinger gibt es schon; sowohl Staubsauger als
> auch Rasenmäher. Nur  noch etwas "expensiv". 

Weiss ich schon, aber wenn man sie auch noch frei programmierbar haben
will, dann muss man sich so etwas vermutlich aus dem eigenen Lego Mind-
storms-Baukasten zusammensetzen... ;-)

Dinu




More information about the Python-de mailing list