sehr empfehlenswert
Wie erkläre ich dem Durchschnitts-Perl-Programmierer die Vorzüge der Funktionalen Programmierung. Perl für Poweruser! Aber auch für Nicht-Perl-Hacker ausgesprochen empfehlenswert.
Die Grundbausteine der funktionalen Programmierung und deren Programmierung und Anwendung am Beispiel von Perl.
1. Recursion and Callbacks 2. Dispatch Tables 3. Caching, Memoization, and Lazy Computation 4. Iterators 5. From Recursion to Iterators 6. Streams and Infinite Lists 7. Higher-Order Functions 8. Parsing 9. Declarative Programming
Ein Genuss. MJD ist Garant für 'guten Stoff'.
Hier möchte ich die MJD Homepage zitieren:
Higher-Order Perl is about functional programming techniques in Perl. It's about how to write functions that can modify and manufacture other functions. Why would you want to do that? Because that way your code is more flexible and more reusable. Instead of writing ten similar functions, you write a general pattern or framework that can generate the functions you want; then you generate just the functions you need according to the pattern. The program doesn't need to know in advance which functions are necessary; it can generate them as needed. Instead of writing the complete program yourself, you get the computer to write it for you.
Hier passt auch gut ein Kommentar von MJD zum Thema 'Perl vs. Lisp' hinein: http://lists.warhead.org.uk/pipermail/iwe/2005-July/000130.html
Schon mit dem Erscheinen von Perl5 vor gut 10 Jahren ist mir aufgefallen, dass Perl alle wichtigen Inkredenzien mitbringt, um funktionale Programmiertechniken einzusetzen. Leider hat es dann doch bis 2005 gedauert, bis endlich ein Buch hierzu erschienen ist. MJD hat mir gesagt, dass er gut fünf Jahre am Buch gearbeitet hat... also lieber spät als nie. Absolut empfehlens- und lesenswert.
Das finden übrigens auch andere: http://hop.perl.plover.com/reviews.html
Da der Stoff so spannend ist, haben sich gleich einige andere auf den Weg gemacht, funktionale Techniken in ihrer Lieblingssprache zu implementieren. Higher-Order Programming in anderen Sprachen:
Mark Jason Dominus (MJD)
2005, Morgan Kaufmann Publisher, ISBN 1558607013, 482 Seiten
Amazon: http://www.amazon.de/exec/obidos/ASIN/1558607013
Verlag: http://books.elsevier.com/us/mk/us/subindex.asp?isbn=1558607013
Homepage: http://hop.perl.plover.com/ (unbedingt mal reinschauen)
Perl, Functional Programming
05-Jul-2006