Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

comment on

( [id://3333] : superdoc . print w/replies, xml ) Need Help??
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?

  • True computer scientists
  • Programmers who want to write programs the right way
  • Particularly, anyone who learns best by example

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.


In reply to Mastering Algorithms with Perl by splinky

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.