<?xml version="1.0" encoding="windows-1252"?>
<node id="21675" title="Mastering Algorithms with Perl" created="2000-07-08 21:38:03" updated="2005-08-10 16:42:21">
<type id="31670">
bookreview</type>
<author id="20906">
splinky</author>
<data>
<field name="doctext">
&lt;em&gt;&lt;a href=http://www.oreilly.com/catalog/maperl/&gt;
Mastering Algorithms with Perl&lt;/a&gt;&lt;/em&gt; by Jon Orwant,
Jarkko Hietaniemi &amp; John Macdonald&lt;br&gt;
ISBN 1-56592-398-7&lt;br&gt;
Copyright 1999, &lt;a href=http://www.oreilly.com&gt;
O'Reilly &amp; Associates, Inc.&lt;/a&gt;
&lt;p&gt;
&lt;strong&gt;Capsule Review&lt;/strong&gt;
&lt;p&gt;
Excellent book.  5 stars out of 5.
&lt;p&gt;
Who should be interested in this book?
&lt;ul&gt;
&lt;li&gt;True computer scientists&lt;/li&gt;
&lt;li&gt;Programmers who want to write programs the
&lt;strong&gt;right&lt;/strong&gt; way&lt;/li&gt;
&lt;li&gt;Particularly, anyone who learns best by example&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;Full Review&lt;/strong&gt;
&lt;p&gt;
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.  
&lt;p&gt;
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.
&lt;p&gt;
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.
&lt;p&gt;
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.
&lt;p&gt;
So, I was very excited when &lt;em&gt;Mastering Algorithms with
Perl&lt;/em&gt; 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 &lt;code&gt;print&lt;/code&gt;s until you do.  Change the
computation of the shell size in your shell sort to see what
happens.  What &lt;strong&gt;FUN!&lt;/strong&gt;
&lt;p&gt;
&lt;em&gt;Mastering Algorithms&lt;/em&gt; 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.
&lt;p&gt;
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.
&lt;p&gt;
So, in summary, if you find Knuth to be a bit heavy, either
figuratively or literally, you should pick up a copy of
&lt;em&gt;Mastering Algorithms with Perl&lt;/em&gt;.  Well worth the
price, in my humble opinion.
&lt;p&gt;
&lt;a href="/index.pl?node=splinky&amp;lastnode_id=1072"&gt;*Woof*&lt;/a&gt;
</field>
<field name="itemdescription">
</field>
<field name="usercomment">
</field>
<field name="identifier">
1565923987</field>
</data>
</node>
