Higher-Order Perl: Transforming Programs with Programs and over 1.5 million other books are available for Amazon Kindle . Learn more

Buy New

or
Sign in to turn on 1-Click ordering.
Buy Used
Used - Good See details
Price: £26.50

or
Sign in to turn on 1-Click ordering.
 
   
Trade in Yours
For a £11.01 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Colour:
Image not available

 
Start reading Higher-Order Perl: Transforming Programs with Programs on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Higher Order Perl [Paperback]

Mark Jason Dominus
5.0 out of 5 stars  See all reviews (3 customer reviews)
RRP: £49.99
Price: £43.99 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £6.00 (12%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 2 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Want delivery by Friday, 24 May? Choose Express delivery at checkout. See Details

Formats

Amazon Price New from Used from
Kindle Edition £32.99  
Paperback £43.99  
Amazon.co.uk Trade-In Store
Did you know you can trade in your old books for an Amazon.co.uk Gift Card to spend on the things you want? Visit the Books Trade-In Store for more details. Learn more.

Book Description

31 Mar 2005 1558607013 978-1558607019 1st ed
Most Perl programmers were originally trained as C and Unix programmers, so the Perl programs that they write bear a strong resemblance to C programs. However, Perl incorporates many features that have their roots in other languages such as Lisp. These advanced features are not well understood and are rarely used by most Perl programmers, but they are very powerful. They can automate tasks in everyday programming that are difficult to solve in any other way. One of the most powerful of these techniques is writing functions that manufacture or modify other functions. For example, instead of writing ten similar functions, a programmer can write a general pattern or framework that can then create the functions as needed according to the pattern.For several years Mark Jason Dominus has worked to apply functional programming techniques to Perl. Now Mark brings these flexible programming methods that he has successfully taught in numerous tutorials and training sessions to a wider audience. This title introduces powerful programming methods new to most Perl programmers that were previously the domain of computer scientists. It gradually builds up confidence by describing techniques of progressive sophistication. It shows how to improve everyday programs and includes numerous engaging code examples to illustrate the methods.


Product details

  • Paperback: 600 pages
  • Publisher: Morgan Kaufmann; 1st ed edition (31 Mar 2005)
  • Language: English
  • ISBN-10: 1558607013
  • ISBN-13: 978-1558607019
  • Product Dimensions: 19.1 x 3 x 23.5 cm
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (3 customer reviews)
  • Amazon Bestsellers Rank: 160,282 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description

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

About the Author

Mark Jason Dominus has been programming in Perl professionally since 1992, when he was a UNIX sysadmin with the University of Pennsylvania Department of Computer and Information Sciences. Mark is an occasional contributor to the Perl Core, and is the author of the standard perlreftut man page as well as the Tie::File, Text::Template, and Memoize modules. From 1999-2001, Mark was the managing editor of the www.perl.com website. He was also a columnist for The Perl Journal for several years. All of his articles for TPJ have been reprinted in Computer Science and Perl Programming: Best of the Perl Journal, from O'Reilly and Associates. Mark's other Perl-related articles have appeared in magazines such as Wiredand IEEE Software. Since 1998, Mark has been a professional Perl trainer. In addition to speaking at conferences such as YAPC, the O'Reilly Open Source Conferences, Usenix, and LISA, he has given training courses for large companies and organizations, including Morgan Stanley, IBM, Bristol-Myers Squibb, and the U.S. Air Force. Mark's work on Rx, a Perl regular expression debugger, won the 2001 Larry Wall Award for Practical Utility.

Inside This Book (Learn More)
First Sentence
Until the release of Perl 5.6.0, there was no good way to generate a binary numeral in Perl. Read the first page
Explore More
Concordance
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

4 star
0
3 star
0
2 star
0
1 star
0
5.0 out of 5 stars
5.0 out of 5 stars
Most Helpful Customer Reviews
4 of 4 people found the following review helpful
Format:Paperback
In a book market awash with teach-yourself-in-x-time-units, cookbooks, and API tutorials, Higher-Order Perl is ambitious. It attempts to bring functional techniques to Perl, leaning heavily on two language features: closures, and functions as first-class entities. To enjoy this book you need to be completely comfortable with Perl's syntax, there's lots of code to read and digest, and if you can't follow it, you're going to get lost very quickly, because there are lots of new concepts going to be thrown your way. There's no outlandish symbol table hacking, almost no object orientation, not even much use of modules, but it is in a very different style to most of the Perl you're used to.

If, like me, most of the programming languages you're familiar with are more closely related to C than Lisp, this is going to be a challenging read. It's going to take you a long time to get through this book, and it'll probably require re-reading (more than once) to fully get it all. This is a book bursting at the seams with ideas, beginning with recursion, and then onto caching, iterators, streams and currying. The last two chapters show how to apply these techniques to parsing and declarative programming, and they feel like mini books in themselves. Applications of the code range from classics like Tower of Hanoi, Fibonacci sequences and the Newton Raphson method, to more practical material including databases, tied files, and directory walking.

Part of the reason I enjoyed this book so much may be because I have no formal training in Computer Science, and of course, the likes of Structure and Interpretation of Computer Programs and The Little Schemer contain similar concepts. But for someone without functional programming experience it's great to have it in Perl. Lispniks, MLers and Haskellites may well be familiar with these ideas already, but they should consider this an enticing 'gateway book' for Perl programmers. And Introduction to Functional Programming using Haskell just isn't as well-written as HOP. There's no hiding from the fact that if you want to fully appreciate the material here, you're going to have to work hard at it, but Mark Jason Dominus does a great job at stopping things from feeling like a textbook, and knows how to inject some wit into the proceedings without being distracting. Full marks to Morgan Kaufmann for the layout and overall production quality, too.

I keep The Camel, Perl Cookbook and Perl Best Practices on my desk when programming Perl. HOP is not going to be joining them (yet), it's not that sort of a book. Instead it's a very different intellectual pleasure and easily one of my favourite and most important Perl books (only PBP edges it out due to the latter's everyday practicality). If you're serious about Perl, you need to read this book. If you're serious about programming, ditto. Hell, this might just be a good enough reason to learn Perl if you don't already (admittedly, the chances of such a person reading this far are small).

HOP has set the bar very high. Python and Ruby authors, please step up!
Comment | 
Was this review helpful to you?
2 of 2 people found the following review helpful
5.0 out of 5 stars A Well Chosen Title! 26 July 2007
Format:Paperback
As the title suggests, this book is about advancing your programming techniques in Perl and is definitely not for the beginner. I had used some of the techniques before, though largely without being fully aware of the "theory", but most were either entirely new to me or concepts that I had previously considered to be the domain of the true guru (and well out of my reach). And this despite being a professional Perl programmer for over 4 years!

Mark Jason Dominus works carefully through a number of well explained examples, illustrating how and why each technique should or could be implemented, and developing each example as the book progresses. Though I found myself frequently having to re-read his often terse code examples and though I cannot claim to have understood _every_ techinque well enough to implement it, I have found that I have used at least one of the techniques he describes in almost every script or module I have written since I finsihed the first chapter!

I would say that this book is an absolute must for any serious Perl programmer who does not already consider him or herself to be at guru status.

Buy it, read it, understand it (eventually) and become a better programmer!

(It occurs to me that for those with a more formal training in Computer Science, the techniques described may not be quite a revelatory as they were for me, however the implementation examples in Perl will still, undoubtedly, be extremely useful.)
Comment | 
Was this review helpful to you?
5.0 out of 5 stars File this book next to your copy of Knuth 19 Mar 2008
Format:Paperback
I echo all the reviews so far this book is all about the "Art" of computer programming, and as such is comparable to Knuth's work, than the usual Cookbook.

Its always great when a book teaches you things that you have forgotten or don't know. The description of Scope, Duration and Lexical closure in chapter 3, wakes you up to the fact that just because this language looks like C its not C.

Perl is a language that I use all the time, as its very easy to build stuff that works. This book makes you think about some of the stuff that you have produced over the years, and wonder if you could have done better.

Mark Dominus and friends have reminded us that programming is not just about function, but is about style, method and art.
Comment | 
Was this review helpful to you?
Would you like to see more reviews about this item?
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   
Related forums


Listmania!


Look for similar items by category


Feedback


Amazon.co.uk Privacy Statement Amazon.co.uk Delivery Information Amazon.co.uk Returns & Exchanges