CPAN is useful for telling people that there are lots of great libraries that make it much easier to write complex programs that do magical things without having to write hundreds of lines of code oneself. CPAN is not something you can teach somebody about in his first-ever brush with Perl — at least, not effectively.

First, teach enough Perl to be able to use modules without actually talking about CPAN or module use. Next, teach how to use core modules that come with your Perl distribution, because using modules is almost like using a completely different language embedded within Perl. Third, teach how to create modules. Finally, after all of this, teach people how to use CPAN.

Get it in a different order, and you're likely to just sow confusion. That, at least, is my experience.

For a long time, my impression of CPAN was that it was more work than it was worth. This is because I was being pushed toward CPAN before I had the knowledge basis to be able to leverage it for any positive ends. Don't let my experience be the same experience your students have.

CPAN is an excellent resource. You're only doing someone a disservice if you introduce him or her to CPAN without first familiarizing him or her with enough Perl to be able to get any net benefit. By the same token, when you're helping someone migrate from lifelong Windows use to Linux (for instance), don't start with teaching how to compile kernel modules. Start with the installer and the package manager. Even if you believe that installing everything by compiling from tarball is the One True Way, you're going to run into real difficulty training someone unless you can find a way to teach compiling from tarball as an installation practice without taking them away from Windows first. Learning works best from within a context wherein something (almost anything) is familiar. The more that's familiar, the quicker the bits that aren't can be learned. Familiarize students with the basics before tackling the more complex stuff: teach how basic loops and variables work in Perl before tackling CPAN.

print substr("Just another Perl hacker", 0, -2);
- apotheon
CopyWrite Chad Perrin


In reply to Re^2: strange responses to inhouse perl training by apotheon
in thread strange responses to inhouse perl training by jim_neophyte

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



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.