Perl @ Web Programming
 Programming Shed : Programmer Store & Resources
|  ASP.NET  |  HTML / DHTML  |  Java / JavaScript  |  Perl  |  PHP  |  Python  |  XML  |
Perl Index - Perl Book :

Perl Book :
Mastering Algorithms with Perl

Mastering Algorithms with Perl
Check price @
Amazon.com
Amazon.ca
Amazon.co.uk


Mastering Algorithms with Perl
by John Macdonald, Jon Orwant, Jarkko Hietaniemi

Paperback: 684 pages
Dimensions (in inches): 1.29 x 9.19 x 7.06
Publisher: O'Reilly & Associates
ISBN: 1565923987; (July 1999)


Written for readers with at least some Perl programming experience, Mastering Algorithms in Perl delivers a solid library of algorithms written in Perl for business and mathematical computing. From data structures to cryptography and more advanced mathematical algorithms, this book provides a worthwhile guide to extending Perl's coding capabilities.

The best thing about Mastering Algorithms in Perl is the scope at which it covers the universe of algorithms while refraining from getting bogged down in academic detail. Besides basic data structures--a lynchpin of books on algorithms--the authors provide dozens and dozens of algorithms for sorting, searching, and doing mathematical computations of all kinds. While they discuss "Big-O" notation and assume a general familiarity with math, they don't overwhelm the reader. (You can even borrow the code without needing a math degree to understand it.) The focus is on efficient, reusable Perl subroutines written and compiled by three Perl experts.

Standout chapters include extending Perl's already powerful string processing abilities, game programming, and cryptography. Generally, the authors achieve a good mix of more advanced (and less well-known) algorithms, along with the basics. Chances are you won't need to use all the dozen or so sorting algorithms presented here, but the authors include them all, just in case. As a reference and tutorial, readers can pick and choose what they need for real-world Perl development.

There hasn't been a book dedicated exclusively to Perl algorithms prior to the publication of this one. In all, Mastering Algorithms in Perl fills a useful niche by compiling a powerful library of Perl algorithms that will be useful for anyone who works with this programming language, whether in business or academic computing. --Richard Dragan

Topics covered: Perl data types, Big-O notation, data structures, queues, deques, linked lists, binary trees, sorting and searching algorithms, game and dynamic programming, sets and multisets, matrices and graphs, string matching and parsing, 2-D geometry, number systems, cryptography (including DES and RSA), probability, statistics, and numerical analysis.

Book Description: Many programmers would love to use Perl for projects that involve heavy lifting, but miss the many traditional algorithms that textbooks teach for other languages. Computer scientists have identified many techniques that a wide range of programs need, such as:
• Fuzzy pattern matching for text (identify misspellings!)
• Finding correlations in data
• Game-playing algorithms
• Predicting phenomena such as web traffic
• Polynomial and spline fitting
• Encrypting your data

Using algorithms explained in this book, you too can carry out traditional programming tasks in a high-powered, efficient, easy-to-maintain manner with Perl.

This book assumes a basic understanding of Perl syntax and functions, but not necessarily any background in computer science. The authors explain in a readable fashion the reasons for using various classic programming techniques, the kind of applications that use them, and -- most important -- how to code these algorithms in Perl.

If you are an amateur programmer, this book will fill you in on the essential algorithms you need to solve problems in other languages, you will be surprised at how much different (often easier) it is to implement them in Perl. And yes, the book even has the obligatory fractal display program.

There have been dozens of books on programming algorithms, some of them excellent, but never before has there been one that uses Perl.

The authors include the editor of The Perl Journal and master librarian of CPAN; all are contributors to CPAN and have archived much of the code in this book there.

"This book was so exciting I lost sleep reading it." Tom Christiansen

Ingram: Whether one is an amateur programmer or knows a wide range of algorithms in other languages, this book will illustrate how to carry out traditional programming tasks in a high-powered, efficient, easy-to-maintain manner with Perl. Topics range in complexity from sorting and searching to statistical algorithms, numerical analysis, and encryption.

Book Info: Assuming some experience in programming this text will provide information on the essential algorithms you need to solve problems in the manner of an expert. Explains the reasons for using various classic programming techniques, the kind of applications that use them, and how to code these algorithms in Perl.


Customer Reviews
Reviewer: A reader from Austin, TX USA
Using perl to implement data structures and algorithms is kind of a laughable concept. Perl was designed specifically so that users wouldn't have to deal with this sort of thing. Algorithms written in perl are much less portable than algorthms written in a more low level language, and perl's built in data types are so powerful that they make the construction of user defined types unnecessary. Not to mention the fact that perl does so much behind your back that unless you go rooting through source code it is impossible to get truly accurate time complexity analysis of algorithms implemented in perl. If you are looking for a good algorithm book, check out Corman's Introduction to Algorithms. If you are looking for a good perl book, check out Programming Perl. If you are looking for a book that will tell you how to do a bunch of weird stuff with perl, check out Conway's Object Oriented Perl. But perl and hardcore algorithm study have never mixed, and god knows they shouldn't.

Reviewer: Steve Uhlig from Namur Belgium
This book is certainly not meant for learning Perl nor being read from the first page to the last...it's a compilation of some of the advanced features of Perl aimed at resolving very specific algorithmic problems. Two examples :
1) i had an efficiency problem with my code that required boosting some subroutines that were heavily used but could not be easily implemented with a data structure...so i discovered the "Memoize" module that performs caching on subroutines, allowing me to speed up my code by a factor of 10 !

2) i had to find the maximum likelihood estimation of several probability distributions on some important amount of data, and for multi-parameter distributions. I just used the complex module and LU decomposition to find the roots of my non-linear systems, which can be "easily" done by specifying the equations to be resolved (expressed as subroutines which values are instanciated by the resolver) and applying a heuristic root finding algorithm based on Newton's method combined with LU decomposition. It would have taken several days or even weeks to write it from scratch in C or C++, but most of the code already existed so it was written within one day !

Of course, it's not a general-purpose book on Perl programming but rather a cookbook for some very specific utilization of Perl like "non-linear equations systems root finding" or graphs theory problems...so don't expect this to be a well-organized book since it's not intended to be that way !

Reviewer: adominey from Irving, TX United States
If you are relatively new to Perl programming, then you have probably already read "Learning Win32 Perl". Other reviewers may disagree with me, but "Mastering Algorithms with Perl" is the very next book you should read. This book takes the scattered pieces of the grammar of Perl and starts you on the path of understanding the prose of Perl. You learn why references are so important. You absorb the idioms of Perl programming in a manner that makes them second nature. Also, you have a ready reference for many other tasks you may find yourself working with. Buy this book. Then, you can move on to other O'Reilly Perl books with confidence.

Reviewer: shadox from Alajuela, Costa Rica
Mastering Algorithms with Perl is a excelent book to learn ( or remember ) a lot of usefull techniques to develop with perl, you will learn from Efficiency to Interpolation, Extrapolation and Curve Fitting, just take my advice, if you are new to perl this book isn't for you ( yet ). This is for people who already have perl experience and want to learn some good techniques.






Book Subjects
Learning Perl
Perl Reference Manual
Web Programming in Perl
 
Perl Essential
Learning Perl (3rd Edition)
by Randal L. Schwartz, Tom Phoenix
Programming Perl (3rd Edition)
by Larry Wall, Tom Christiansen, Jon Orwant
Perl Black Book, 2nd Edition
by Steven Holzner
CGI Programming with Perl
by Scott Guelich, Shishir Gundavaram, Gunther Birznieks, Linda Mui
Perl & XML (O'Reilly Perl)
by Erik T. Ray, Jason McIntosh
© 2005-2006, Programming Shed