Calocybe: Array-Elemente nicht variabel ansprechbar?

Beitrag lesen

Hi again!

Nur sind Hashes in Perl viel flexibler als das, was du da in C geschrieben hast :)

Das stimmt natuerlich. Deswegen ist Perl ja auch eine Scriptsprache, im Gegensatz zu C. Nur erkaufst Du Dir diese Bequemlichkeit natuerlich durch hoeheren Speicherbedarf und sehr viel niedrigere Ausfuehrungsgeschwindigkeit. Das was ich da in C geschrieben habe, ist schlicht und einfach fuer das Problem massgeschneidert und dementsprechend optimiert, aber eben auch dementsprechend unflexibel. Wollte man eine aehnlich Flexibilitaet erlangen, muesste man in C das nachprogrammieren, was die Perlentwickler intern fuer Listen und Hashes gemacht haben. De facto muesste man die Daten in eine doppelt-verkettete Liste packen und geeignete Routinen zum Zugriff bereitstellen, idealerweise alles fein saeuberlich in ein Objekt verpackt. Fuer einen Hash implementiert man zwecks besserer Zugriffszeiten vielleicht eine Zusatztabelle, in der die Keys sortiert herumliegen und auf die zugehoerigen Values verweist. Daher sind Arrays und Hashes also sehr aehnlich, weshalb wohl auch der Begriff "assoziatives Array" entstanden ist.

Ein Haufen Aufwand also, und dann ist die Geschwindigkeit auch nicht mehr soviel hoeher als bei einem Script. Und dafuer wurden die Scriptsprachen ja nun schliesslich geschaffen. Die niedrigere Geschwindigkeit faellt in vielen Faellen sowieso nicht ins Gewicht. Und es ist viel bequemer, nicht immer erst kompilieren und linken zu muessen. Und es ist viel portabler.

Calocybe