Order Mastering Algorithms with Perl

Item Description:

Review Synopsis:

Mastering Algorithms with Perl by Jon Orwant, Jarkko Hietaniemi & John Macdonald
ISBN 1-56592-398-7
Copyright 1999, O'Reilly & Associates, Inc.

Capsule Review

Excellent book. 5 stars out of 5.

Who should be interested in this book?

Full Review

As soon as I heard that this book was coming out, I started counting the months until its publication. Because, you see, I had a secret shame.

I've always learned best by looking at examples, playing with them, and tweaking them until I knew how they really worked. Pure theory tends to bore me. Either that, or it goes over my head. Pick your excuse.

For this reason, I avoided certain classes in college -- the ones that dealt a lot with theory and didn't require much, if any, programming. Give me a programming project, and I can make A's. Grade me strictly on tests and quizzes, and I'll get C's. So... I can finally admit it now... I weaseled out of taking the Algorithms class.

I graduated from college knowing very little about algorithms other than what I'd picked up in other classes. I wanted to learn all that nifty stuff -- efficient sorting algorithms, approximate string matching, graph traversal. All of it was important. I knew that. But pseudo-code just wasn't good enough, and things like algorithms books tend not to be targetted at a specific language.

So, I was very excited when Mastering Algorithms with Perl hit the shelves. All the stuff I'd wanted to learn, and in the form from which I learn best. Code! And lots of it! As with most, if not all, O'Reilly books, all the examples in the book are on the O'Reilly web site. Download it and run it. Don't understand how it works? Stick in a few prints until you do. Change the computation of the shell size in your shell sort to see what happens. What FUN!

Mastering Algorithms covers all the high points -- sorts, graphs, data structures, number theory, cryptography, statistics, and more. All with a plethora of examples, and with references to the seminal works from which this book was derived. And, as we've come to expect from O'Reilly, presented in a professional and readable style.

So, is there anything wrong with this book? I'm reluctant to say one way or the other. I've had to read a lot of it over two or three times before understanding it, even with the examples. But I'm inclined to think that that's more a function of the complexity of the material being presented, rather than the fault of the authors. They really do a very good job of explaining everything. And, of course, the examples are superb.

So, in summary, if you find Knuth to be a bit heavy, either figuratively or literally, you should pick up a copy of Mastering Algorithms with Perl. Well worth the price, in my humble opinion.


Replies are listed 'Best First'.
RE: Mastering Algorithms with Perl
by neophyte (Curate) on Nov 08, 2000 at 19:45 UTC
    I got the translated version of Mastering Algorithms with Perl only recently, and I can only support splinkys view.
    It is very useful for me, because I am not a programmer by formal education, so I lacked quite a bit of strategic knowledge. I felt that Mastering Algorithms with Perl is quite easy to understand and extremely informative.


Re: Mastering Algorithms with Perl
by mrmick (Curate) on Dec 21, 2000 at 19:24 UTC
    I've had this book for a few months now. I found it very useful since I went to College (not University) and only was exposed to what what immediately practical. I had to learn theory from other sources such as friends and coworkers who had actually taken Computer Science in University.

    This book helped and still helps to bridge the gap between the practical and the theoretical.

    I highly recommend this to anyone interested in learning about Algorithms - not simply limiting themselves to 'about how to program'.

Re: Mastering Algorithms with Perl
by Zaxo (Archbishop) on May 17, 2002 at 05:45 UTC

    I have this book and use it all the time. Your five star rating is right on the mark.

    I only have one bone to pick. There is an error that is repeated in example code throughout the book. The sacred-to-sort package globals $a and $b are used as generic temporary lexicals. That's harmless in the examples, but it's bad practice, and it might lead to grief for a reader experimenting with the code.

    After Compline,

Re: Mastering Algorithms with Perl
by moodster (Hermit) on Jan 11, 2002 at 18:25 UTC
    Mastering Algorithms with Perl does indeed rock the Free World.

    I took Computer Science several years ago, and it's really nice to have a single book explaining to me all the stuff that I've managed to forget. Parsing. Graph Theory. Number theory. Compression. With Examples. In perl.

    I think that the only (only!) weakness of this book is that some areas are treated rather superficially (I'd really liked to learn more about bottom-up parsing for example). But there are a lot of references to other material, so you can easily look it up if you're eager.

    The book also lists standard CPAN modules implementing functionality presented in each chapter, so you don't have to reinvent the wheel every time. Unless you want to, of course.

    -- moodster

Re: Mastering Algorithms with Perl
by nothingmuch (Priest) on Apr 15, 2003 at 18:03 UTC
    Though very promising and fun, i actually found this book quite lacking in certain areas. One example is the BTree description. The way a btree is described is actually the difference between a B+Tree and a regular one, thus causing confusion. Another example is the cryptographic section, where this actually a guide to using a module. I think this has a bit too much examples, not enough theory. Statements such as 'here is the code, but we're not going to discuss it' wreak of laziness, and i think i can spot a handful in the book.

    The book is well written, but i think, at the bottom line, could have been more complete, better organized, and more mature. Perhaps a slightly more narrow spectrum would have aided. I would be reluctant to reccomend it until newer editions come out.

    zz zZ Z Z #!perl
Re: Mastering Algorithms with Perl
by zer (Deacon) on Mar 16, 2006 at 04:12 UTC
    This is an excellent book where you dont really need to be a computer scientist but is a good follow up once youve learned perl and have a good programing foundation. It is excellent for making operations quicker. For example there are a few techniques that make it quicker to parse large databases that ive used with large server logs to provide detailed server access on a per user basis. They commonly use the phonebook example to describe how to simplify the search... 5 stars is bang on. Well worth your money if you are looking to become an overall better programer