Programming Books C Java PHP Python Learn more Browse Programming Books
Higher-Order Perl: Transforming Programs with Programs and over one million other books are available for Amazon Kindle. Learn more
Qty:1
  • List Price: $84.95
  • Save: $17.62 (21%)
In Stock.
Ships from and sold by Amazon.com.
Gift-wrap available.
FREE Shipping on orders over $35.
Condition: Used: Good
Comment: Former owner's name marked on an edge otherwise text with no apparent marks, covers/binding in good shape.
Access codes and supplements are not guaranteed with used items.
Sell yours for a Gift Card
We'll buy it for $3.89
Learn More
Trade in now
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Higher-Order Perl: Transforming Programs with Programs Paperback – March 14, 2005

ISBN-13: 978-1558607019 ISBN-10: 1558607013 Edition: 1st

Buy New
Price: $67.33
32 New from $48.36 29 Used from $11.98
Amazon Price New from Used from
Kindle
"Please retry"
Paperback
"Please retry"
$67.33
$48.36 $11.98
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


Frequently Bought Together

Higher-Order Perl: Transforming Programs with Programs + Perl Best Practices + Learning Perl
Price for all three: $125.33

Buy the selected items together
NO_CONTENT_IN_FEATURE

Holiday Deals in Books
Holiday Deals in Books
Find deals for every reader in the Holiday Deals in Books store, featuring savings of up to 50% on cookbooks, children's books, literature & fiction, and more.

Product Details

  • Paperback: 600 pages
  • Publisher: Morgan Kaufmann; 1 edition (March 14, 2005)
  • Language: English
  • ISBN-10: 1558607013
  • ISBN-13: 978-1558607019
  • Product Dimensions: 7.4 x 1.4 x 9.4 inches
  • Shipping Weight: 2.6 pounds (View shipping rates and policies)
  • Average Customer Review: 4.8 out of 5 stars  See all reviews (17 customer reviews)
  • Amazon Best Sellers Rank: #498,934 in Books (See Top 100 in Books)

Editorial Reviews

Review

"It's well written.everyone who claims to be an expert ought to read it.these techniques allow programmers to accomplish far more than they're used to." —Gregory V. Wilson, Dr. Dobb's Journal, November 2005 "It is, quite simply, one of the best books on programming I have read for a long time."—Martin Schweitzer, Computing Reviews, Association for Computing Machinery, July 2005 "Mark Jason Dominus has hit his mark with Higher Order Perl. It is a very informative book that is a must read for Perl programmers who want to take their skills to the next level.” —Mark Rutz, Linux Journal, November 2005

"Higher-Order Perl is one of the Perl books that should have a place on the bookshelf of every Perl programmer. It offers an in-depth understanding of important programming techniques and fundamental concepts. The chapter on parsing alone is worth the price of this book. I do not know a better text about parsing in Perl.” —Reinhard Voglmaier, Unix Review, November 2005

"Higher-Order Perl is the most exciting, most clearly-written, most comprehensive, and most forward-looking programming book I've read in at least ten years. It's your map to the future of programming in any language." —Sean M. Burke, Leading Programmer, Comprehensive Perl Archive Network (CPAN) "There are lots of book that teach you new Perl modules or techniques. This book goes beyond that and teaches a new way to think about Perl programming.” —Peter Norvig, Google Inc.

"As a programmer, your bookshelf is probably overflowing with books that did nothing to change the way you program. . . or think about programming. You're going to need a completely different shelf for this book. While discussing caching techniques in Chapter 3, Mark Jason Dominus points out how a large enough increase in power can change the fundamental way you think about a technology. And that's precisely what this entire book does for Perl. It raids the deepest vaults and highest towers of Computer Science, and transforms the many arcane treasures it finds--recursion, iterators, filters, memoization, partitioning, numerical methods, higher-order functions, currying, cutsorting, grammar-based parsing, lazy evaluation, and constraint programming--into powerful and practical tools for real-world programming tasks: file system interactions, HTML processing, database access, web spidering, typesetting, mail processing, home finance, text outlining, and diagram generation. Along the way it also scatters smaller (but equally invaluable) gems, like the elegant explanation of the difference between 'scope' and 'duration' in Chapter 3, or the careful exploration of how best to return error flags in Chapter 4. It even has practical tips for Perl evangelists. Dominus presents even the most complex ideas in simple, comprehensible ways, but never compromises on the precision and attention to detail for which he is so widely and justly admired. His writing is—as always—lucid, eloquent, witty, and compelling. Aptly named, this truly is a Perl book of a higher order, and essential reading for every serious Perl programmer.” —Damian Conway, Co-designer of Perl 6

"Higher-Order Perl is a terrific book targeted at the advanced Perl programmer with a significant computer science background. The tone, content, and code make Higher-Order Perl memorable; the knowledge, wisdom, and intuition it provides make it a book any Perl programmer should aim to understand and digest in full.”.” —Teodor Zlatanov, Programmer, Gold Software Systems

Book Description

The eagerly awaited book by one of the best-known Perl developers summarizing years of innovative practice

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.8 out of 5 stars
5 star
15
4 star
1
3 star
0
2 star
1
1 star
0
See all 17 customer reviews
You're going to need a completely different shelf for this book.
Damian Conway
Those concepts are directly translatable to other dynamic languages like Python and Ruby.
Joe P.
For serious Perl programmers, Higher Order Perl is a must-read book.
Ricardo Signes

Most Helpful Customer Reviews

134 of 137 people found the following review helpful By Damian Conway on April 7, 2005
Format: Paperback
As a programmer, your bookshelf is probably overflowing with books that did nothing to change the way you program...or think about programming.

You're going to need a completely different shelf for this book.

While discussing caching techniques in Chapter 3, Mark Jason Dominus points out how a large enough increase in power can change the fundamental way you think about a technology. And that's precisely what this entire book does for Perl.

It raids the deepest vaults and highest towers of Computer Science, and transforms the many arcane treasures it finds---recursion, iterators, filters, memoization, partitioning, numerical methods, higher-order functions, currying, cutsorting, grammar-based parsing, lazy evaluation, and constraint programming---into powerful and practical tools for real-world programming tasks: file system interactions, HTML processing, database access, web spidering, typesetting, mail processing, home finance, text outlining, and diagram generation.

Along the way it also scatters smaller (but equally invaluable) gems, like the elegant explanation of the difference between 'scope' and 'duration' in Chapter 3, or the careful exploration of how best to return error flags in Chapter 4. It even has practical tips for Perl evangelists.

Dominus presents even the most complex ideas in simple, comprehensible ways, but never compromises on the precision and attention to detail for which he is so widely and justly admired.

His writing is--as always--lucid, eloquent, witty, and compelling.

Aptly named, this truly is a Perl book of a higher order, and essential reading for every serious Perl programmer.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
57 of 59 people found the following review helpful By M. Friedman on March 28, 2005
Format: Paperback Verified Purchase
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.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
20 of 20 people found the following review helpful By Eli Bendersky on August 6, 2006
Format: Paperback
In "Higher Order Perl" (or HOP as it's affectionately called in the Perl community), the renown Perl wizard Mark Jason Dominus (MJD) shows how to take Perl coding to the next level by applying advanced programming techniques from the domain of functional programming.

The book covers recursion (including methods to convert recursive code to iterative code), iterators, streams, memoization, currying, parsing, constraint programming and higher order functions (functions that take functions as arguments and/or return other functions). It is packed with great, sophisticated code which is explained very well and is a model for correct programming. The author takes an approach similar to Peter Norvig's PAIP - advanced coding techniques are presented, and then non-trivial programs are written to demonstrate these concepts.

The comparison with Lisp here is unavoidable, and MJD talks about Lisp in his preface. He claims that Perl shares 6 of the "7 features unique to Lisp" quoted from Norvig's PAIP, and that this basically means that most of what can be written in Lisp can be written in Perl in roughly the same manner. But as he himself admits in a later interview, the 7th "missing feature" of Lisp, namely its uniform syntax, is what *really* differentiates Lisp from the rest. Lisp's syntax allows a very clean handling of higher-order functions, list-processing, and most importantly macros. The contrast between MJD's own code in HOP and Norvig's PAIP code is the best example for this fundamental difference. Be MJD's code as clean and nice as it is (for Perl, anyway), it is nowhere near the sheer aesthetic appeal of Norvig's Lisp.

Still, Lisp is Lisp and Perl is Perl, and each has its respectable place in the world of programming.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
10 of 10 people found the following review helpful By Ricardo Signes on August 5, 2007
Format: Paperback Verified Purchase
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.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews


What Other Items Do Customers Buy After Viewing This Item?