[linux-l] Ocml vs. Java

Oliver Bandel oliver at first.in-berlin.de
Sa Sep 24 03:20:06 CEST 2005


On Fri, Sep 23, 2005 at 07:47:01PM +0200, Volker Grabsch wrote:
> On Fri, Sep 23, 2005 at 08:14:08AM +0200, Oliver Bandel wrote:
> > [...]
> > > Übrigens dasselbe mit dem Fliegengewicht, dem Proxy oder dem Strategie-
> > > Muster, obwohl diese ja sehr einfach sind, und im Prinzip die
> > > OO-Features direkt nutzen. Da wird also nicht wild gerudert, und
> > > entsprechend ist da auch nix durch Sprachfeatures groß zu vereinfachen.
[...]

> > Damit will das Design Pattern-Buch zwar aufräumen.
> > Aber viele Probleme der OOP kommen dadurch, daß die OOP selten
> > mit Blick über den tellerrand ausgeführt wird.
> > Dafür bist Du ja der beste Beleg. ;-)
> 
> Das reicht an Beleidigungen.

Naja, Deine Mails waren das eine oder andere mal auch recht pampig.

Soll ja schön ausbalanciert bleiben. ;-)



[...]
> Ich habe nirgends auf OO herumgepocht oder behauptet, es wäre das einzig
> ware.

Naja, hast doch schon ziemlich OO hochgelobt, es jedenfalls
immer in so einem Kontext gesagt, daß dieser Eindruck verstärkt wurde.


> Solche dumpfen Parolen kamen nur von /dir/, und ich kann diese
> Arroganz bis jetzt nicht verstehen.

locker bleiben ;-)


> 
> Was du als "funktional ist mächtiger als OO" versuchst darzustellen,
> ist völlig am Thema vorbei.

habe ich auch garnicht vor.
Dann wäre ich wohl eher bei Haskell hängen geblieben. ;-)

Was ich aber feststellen konnte: FP ist extrem mächtig.
IMHO in sehr vielen Fällen besser geeignet als die anderen
Programmierparadigmen. Aber wenn ich hauptsächlich GUIs
programmieren würde, würde ich wohl eher auf OO pochen.

Vorlieben für bestimmte Programmier-Paradigmen sind
sicherlich auch geprägt vom Arbeitsgebiet/Interessengebiet.


[...]
> Ich habe nirgends gesagt, dass OO-Sprachfeatures wertvoller seien als
> funktionale Sprachfeatures. Gerade in Sprachen wie Ocaml oder Python
> ist dieses Schulbladendenken fehl am Platz, weil ihre Mächtigkeit
> noch auf ganz anderen Sprachelementen basieren!

Na, dann klappt's wohl mit unserer Kommunikation oftmal nicht so richtig.
Ich habe mich von Dir auch schon oft mißverstanden gefühlt.

Dies Problem ist durchaus beidseitg.

[...]
> Du bestätigst das, indem du alle möglichen Muster in Ocaml umgesetzt
> hast. Damit hast du gezeigt, dass viele Muster gar nicht OO-spezifisch
> sind. Statt die Probleme auf völlig andere, geniale .. "funktionale" ..
> Art und Weise zu lösen, hast du genau die Rezepte des Buches umgesetzt,
> nur eben nicht in C++ oder Smalltalk, sondern in Ocaml, mit analogen
> Konstrukten. Warum wohl?

Weil das Buch Ausgangsposition war in Deiner Argumentation.

Und da hattest Du OO-like argumentiert (so jedenfalls meine
Erinnerung).



> Weil diese Lösungen völlig naheliegend sind,

Schon.

Das Buch ist dennoch auf OO spezialisiert.


[...]
> Das GoF-Buch enthält sehr viele verdammt gute Ideen, und ist beiweitem
> nicht bloß eine Liste von Workarounds.


Klar sind das gute Ideen, sonst hätte ich es mir auch nicht zugelegt. ;-)

Nur mich stört dabei, daß es eben rein OO-mäßig ist.

Es ist nun mal ein anderer Ansatz, wenn man jeden kleinen Datenschnipsel
als Objekt darstellt. Das bringt letztlich nur overhead.
Und aus einem int-Wert wird deswegen auch nihts anderes als ein int-Wert werden,
nur weil man das ganze als Objekt zur Verfügung stellt.

Weil OO andauernd und überall über den Klee gelobt wird, deswegen geht mir das
OO-gesülze meistens auf den Sender.
Wie Du selbst sagst: Die Patterns sind nicht OO-spezifisch, bzw. weisen darüber hinaus.

Aber (fast) immer wenn man Design Patterns hört, kommt im nächsten Atemzug auch Java
oder Ähnliches. DAS geht mir auf den Sender.

Klar kann OO sinnvoll eingesetzt arbeit sparen; aber oftmals ist es
auch unangebracht eingesetzt.
Ebenso das Vererbungs-Gesülze (nein, nicht von Dir). Als ob man
mit Vererbung alles mögliche sinnvoll darstellen könnte.
Mag sein, daß ein Porsche und ein Ford und die vielen anderen...
...alles Autos sind. Könnte durhchaus Sinn machen.
Aber eine Seite zum Beispiel ist kein Absatz und ein Absatz ist kein Glyph.

Vielleicht bin ich deswegen schon etwas allergisch gegen den OO-Krams. :(


Ciao,
   Oliver



Mehr Informationen über die Mailingliste linux-l