http://qs321.pair.com?node_id=293496


in reply to (OT) I prefer to do my learning with: dead trees or flying electrons?

As a general rule, I only buy computer books that are going to be applicable for a long time. For instance, Knuth is always going to be important unless there is a fundamental change in the mathmatics of how computers work--maybe not even then. OTOH, a book on all the latest CPAN modules will be obsolete before they start printing it. I wouldn't bother buying it.

IMHO, the Camel is right on the edge of the rule above. It will last at least until Perl6 comes out (and even then, much of the information in it will still be good). I mirror your concerns about the index--fortuantly, the index in the Camel is very good. My dirty little secret is that I've read very few of the various perlfaqs--most of the information I need from them is in the Camel already (though there are always some faqs that didn't get into the print version, although these are usually on very specific subjects, like compiling perl on VMS).

----
I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
-- Schemer

Note: All code is untested, unless otherwise stated

  • Comment on Re: (OT) I prefer to do my learning with: dead trees or flying electrons?

Replies are listed 'Best First'.
Re: (OT) I prefer to do my learning with: dead trees or flying electrons?
by Abigail-II (Bishop) on Sep 23, 2003 at 14:58 UTC
    I mirror your concerns about the index--fortuantly, the index in the Camel is very good.

    One of the reasons O'Reilly books can't charme is are the poor indices, with no exception of the Camel. Granted, the index of Camel III is better than the Camel II, but it's still poor. (Early prints didn't even have an entry for 'regular expression', IIRC). You mention Knuth. Take the index of The Art of Computer Programming, and compare that with the index of the Camel.

    What I also don't understand is that you wouldn't buy certain classes of books, because they are easily outdated, yet you break a lance for the Camel. The Camel was released shortly after 5.6.0, and large chunks were written before 5.6.0 was finalized. We know have 5.8.0 with 5.8.1 around the corner. I'd say the Camel III is suffers from being outdated as well.

    Abigail

      One of the reasons O'Reilly books can't charme is are the poor indices . . .

      Perhap. I'm comparing the Camel's index with the multitude of "Learning Perl for Fools" books out there, where they basically slap an index with a few common terms and leave the rest to the poor sod that bought the book.

      What I also don't understand is that you wouldn't buy certain classes of books, because they are easily outdated, yet you break a lance for the Camel.

      How much fundamental of the Camel was really obsoleted by 5.6.* or 5.8.*? Declaring variables is still the same. Looping and conditionals are the same. Declaring subroutines is the same, with at best a few attributes being added, if anything. Builtins are pretty much the same, with a few details being different. Complex datastructures, packages/modules, and OO programming are the same (notwithstanding meryln's complaints about ref $class || $class;, or the various other object systems you can use under Perl). Trying to output native, optimized code from your Perl code is still a tricky proposition. Tied filehandles became useable in 5.6.0 (IIRC), but that's a fairly small portion of the book, and it covers them anyway. Threading became somewhat useable in 5.8.0, but again, it's a small part of the book.

      So small, specific sections might be a bit out of date, but I don't forsee it being unuseable at least until Perl6. That's a long ways off and a lot of Perl5 stuff will still be applicable by then. Probably Perl4, too.

      ----
      I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
      -- Schemer

      Note: All code is untested, unless otherwise stated

        How much fundamental of the Camel was really obsoleted by 5.6.* or 5.8.*?

        Well, first of all, the Camel isn't a book about fundamentals, it's a reference guide. I'd say, the camel is as obsoleted in three years, as a book about important CPAN modules does in three years. How many fundamental modules arrived on CPAN the last three years?

        Declaring variables is still the same. Looping and conditionals are the same. Declaring subroutines is the same, with at best a few attributes being added, if anything. Builtins are pretty much the same, with a few details being different. Complex datastructures, packages/modules, and OO programming are the same

        None of that has changed much since 5.000, and many fundamental things haven't changed since perl4, or even earlier Perls. If you look at fundamentals, even the pink Camel still isn't obsolete. Some important things that have changed from 5.6.* to 5.8.*, and are either missing from the Camel, or insufficiently documented: Unicode support, threading support, Perl I/O layers, signals, and a whole bunch of new modules.

        Look, it's fine if you don't want to call the Camel outdated. But then, be consistent, and don't call other (hypothetic) books outdated either.

        Abigail

      My Camel II certainly has an index entry for regular expressions. I can check the pink Camel when I get home tonight, but I've always been happy with ORA indices. I've occasionally wished for an index in the pocket refs, though.
        My Camel II certainly has an index entry for regular expressions.

        I'm sure it has. My claim was about early prints of the third edition. Currently, I have 2 prints of the third edition.

        From the index of the July 2000 print, page 1053, first column:

        reftype function, 317 regex (see patterns) regexes (see patterns) regexps (see patterns) registry (Microsoft Windows), manipulating, 398, 875 regular files, testing for, 28 re-initialization expressions, loops, 116

        From the index of the March 2001 print, page 1054, first column:

        reftype function (attributes pragma), 317 regexes (see patterns) regexps (see patterns) registry (Microsoft Windows) manipulating, 398, 551, 875 .pl extensions and, 490 regular expressions (see patterns) regular files, testing for, 28

        Abigail

Re: Re: (OT) I prefer to do my learning with: dead trees or flying electrons?
by Anonymous Monk on Sep 23, 2003 at 14:58 UTC
    It will last at least until Perl6 comes out

    A few (obvious) points:

    1. Perl 6 isn't currently out. It may not be for a very long time, and it may change to be more perl5ish.
    2. Once Perl 6 comes out, Perl 5 isn't going anywhere. People will still develop new applications with it, old ones will have to be maintained, etc.
    3. Learning a specific language that is considered obsolete isn't a bad thing. Learning COBOL can teach you wonders about good language design ;-)

    Your general rule is fairly effective though, most overly specific books I pass on after about a year.