[linux-l] Ocml vs. Java

Volker Grabsch vog at notjusthosting.com
Mi Okt 19 17:28:09 CEST 2005


On Sun, Oct 02, 2005 at 03:01:09PM +0200, Oliver Bandel wrote:
> > > Was spricht statt ein Objekt zu nehmen oder einen Iterator
> > > zu bauen, dagegen, eine ganz normale Funktion zu nehmen?
> > 
> > Weil es später als Argument weitergereicht und in andere Strukturen
> > eingebaut werden soll. Ich zeig dir bei Gelegenheit einfach mal, wie
> > meine Applikation Daten exportiert. (z.B. für's Drucken)
> 
> In Funktionalen Sprachen gibt man Funktionen weiter, wie andere
> Variablen auch.
> Das ist ja der Vorteil funktionaler Sprachen. :)

Diese ineffiziente Art, erstmal Listen aufzubauen, um sie von der
aufrufenden Funktion dann doch wieder nur ablaufen zu lassen, ist
vielleicht ja doch ganz okay, wenn der Compiler dafür sorgt, dass
intern gar keine Liste aufgebaut wird, sondern eben Iteratoren
herhalten. Das wäre eine schöne Optimierung durch "lazy evaluation",
aber inwiefern das wirklich gemacht wird, weiß ich nicht.

In Python sage ich einfach gleich, dass ich bloß nen Iterator will
und keine Liste, und die Iterator-Generatoren sorgen dafür, dass
ich syntaktisch fast dasselbe schreibe, als wenn ich Listen mit Werten
fülle. Von daher ist dort die oben beschriebene "Optimierung" schon
explizit eingebaut, und ich kann sie völlig ohne syntaktischen Overhead
direkt nutzen. Deshalb mag ich das so. :-)

Aber vielleicht bietet Ocaml ja auch was ähnliches. Ich könnte es mir
gut vorstellen. Das werd ich dann sehen, wenn ich mich näher damit
beschäftige.


Viele Grüße,

	Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l