Full description not available
E**R
Great book on higher programming
Great book, it covers higher-order programming using Perl, which is a very good language to know. I recommend this book even if you don't know Perl and have no intention of using it. You will derive much benefit being exposed to a flexible language that allows you to use mind-expanding conceptual techniques to raise your programming horizons.
R**S
a must-read book for serious Perl programmers
I had originally planned to read Higher Order Perl and write my review immediately. When it became clear that I wasn't going to read HOP straight through, I figured I'd write a review when I was done. More and more, it looks like my reading of the last two chapters is being indefinitely delayed. I'm going to write what I think so far, while it's still more or less fresh in my mind.Higher Order Perl was originally going to be given some fairly bland name, like "Handbook of Advancted Perl Techniques." This would have been a spot-on (but uninteresting) title. HOP provides the reader with explanation and demonstration of techniques for problem-solving that are often overlooked. The examples are complex and detailed, but not byzantine, and they're built up slowly, piece by piece, so that each line of code's meaning and significance are made clear.The title "Higher Order Perl" refers to the book's most central technique, functional programming. While many programmers understand how to abstract a specific solution into a more general one, Dominus helps the reader learn to push the envelope, abstracing generic solutions into extremely generalized solutions that can be applied to seemingly-unrelated problems. This is frequently done by the construction of functions that build functions that build functions -- and so on, functions all the way down. Instead of solving the problem in base, earthly Perl, the programmer produces Perl elements of a higher order which, operating in harmony, become all things to all people.Well, I'm hyperbolizing, but I think it would be hard for me to over-emphasize the value of techniques like closures, iterators, and currying. They are, in part, what make Lisp so powerful, and the marriage of Lisp's power and Perl's expressivity is a happy one.As for the writing, it is good. The language is clear and the material is well-presented. One should be cautioned, though, that the book is dense. Dominus is constantly pressing onward, explaining new techniques or new ways to apply already-explained techniques. I found myself reading each page carefully and deliberately, only to turn back to it a few pages later, to be sure that I understood how the new material was relying on the old. It made the book a challenge to read, but it was a thoroughly enjoyable challenge. I never felt so frustrated by a bizarre idea that I gave up or so bored with an over-explained one that I skipped ahead.Finally, while the techniques that Dominus presents are powerful and advanced, the required knowledge of Perl is not particularly great. Because he clearly explains the key Perl concepts that he uses (especially closures and associated scoping issues), any competent programmer with a working knowledge of Perl should be able to put the ideas in Higher Order Perl to work.For serious Perl programmers, Higher Order Perl is a must-read book.
S**D
Mind-bending odyssey
While Perl may be going out of fashion, I put this book with Meyer's Eiffel book on OOP: the language doesn't really matter; the concepts are so clearly explained and the book is so entertaining that it transforms a person's way of thinking. Right now, of course, the fundamentals of OOP are far more practical than the metaprogramming HOP discusses. However, with the coming of AI programming systems, higher-order programming may have its place yet.
M**N
An instant classic
Many in the Perl community have been eagerly awaiting Higher Order Perl, and they will not be dissapointed. Not only is this a great Perl book, it's one of the best general computer science texts I've read in a long time. Dominus focuses on the functional, LISP-like aspects of Perl, breaking readers of the procedural habits they have developed writing Perl code. The book starts with a few simple examples of callbacks and closures, and quickly moves on to developing functions that dynamically manufacture and return other functions. These techniques are used to their fullest potential as Dominus shows us how to use dynamic iterators to eliminate recursion; an invaluable technique considering Perl's lack of tail call optimization. Further techniques include using iterators to transform other iterators (analagous to Perl's map function), currying, using linked lists to create "lazy" streams that produce their data upon request, and function memoization. Dominus also makes digressions into Perl internals, giving the reader a magnificent depth of understanding about how these techniques actually function under the hood.
V**V
know perl, don't know functional programming - this DA book!
I am NOT a SW guy - I am a perl autodidact HW engineer. I have written some pretty BIG "scripts" that get the job done - but a fringe "benefit" to me from the demise of the previous company I worked for is that I DON'T HAVE to maintain those scripts - a big bowl of spaghetti :(I tried several times to learn the OO side of Perl but this stuff was w-a-a-a-a-y out there for my scull :(HOP just made it for me! I wish it was available 5 years ago so I wouldn't waste my time writing the aforementioned spaghetti! Study it! It will twist your brains to the point of pain but stick with it - well worthed - you won't look at scripting/programming the same old way ever again!vess
O**R
Over my head, but still a great read!
I bought this book because the price was right, but i was overwhelmed by the actual content. This is clearly a book for the expert perl coder, and i barely consider myself a beginner. You will certainly see some code examples that are quite impressive in what can be done in a few short lines of perl, and even if you are a long-time perl hacker I can't see anyone not benefitting from reading this book.
Y**0
Excellent
This book is excellent. Unless you're a programming genius as well as a Perl genius, this book will teach a a lot of cool Perl tricks, and a lot of cool programming techniques which can be applied to all sorts of thorny problems and even implemented in other languages (although, some of the techniques might be a real pain to write in one of the "real" programming languages i.e. C/C++/C#/Java).I am much more of a Python programmer and I tend to avoid Perl if I can, but reading this book makes me want to write Perl code again.OK, maybe that feeling doesn't last for long, but it reminds why Python (and Ruby!) owe so much to Perl and the Perl community.
Trustpilot
1 day ago
4 days ago