Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • book of all the most frequently annoying questions and criticism of the CPAN and post it somewhere...not that it would ever get read, but at least I'd have cut and paste.

    Nobody ever asks why there are 15 different mustards to choose from in the grocery, so I'm never quite sure why people get fussy about the selection on CPAN unless a) they have a module that fits in a namespace they want but is already taken or b) think everyone elses' module is shite save for theirs. It's a free archive...pick and choo

    • I should expose a few things up front. I run Perl Training Australia [], and my full-time job for the last five years has been teaching people how to use Perl. I've got a good idea what newcomers to the language like, and what they don't like.

      They don't like the CPAN. They absolutely adore it. One of the best parts of running an introductory course is letting our students play with the CPAN. It's very rare for a student not to find a module that directly helps them with their day-to-day work, with their leisure activities, or most often both. Everyone loves the CPAN.

      What they sometimes find frustrating is when "just want a module that does X", and their CPAN search reveals hundreds of results. Reading through (and testing!) all the options takes a lot of time, and isn't necessarily going to be a productive way of solving their task, so how do they make a decision?

      The other thing about the CPAN is that there are some really life-changing modules out there. Finding Class::DBI / DBIx::Class changed my life. So did WWW::Mechanize. As someone new to Perl, you may be unaware of these modules. You may not have even thought about searching for them. How do you go looking for something you don't even know exists?

      These two questions arise all the time in our training courses, and are also common questions at the conferences and user-groups I attend. I have two standard responses:

      The first is to become active in the Perl community. That can be perlmonks, your local Perl Mongers group, or some other way of keeping in contact with others who use Perl. Very often these communities will be able to provide excellent answers to questions like "which XML module should I use", or "what's your favourite Perl module?".

      My second response always seems to point to the Phalanx 100 []. These are the CPAN's most commonly downloaded and tested modules. Lots of people are using them. In the absence of other factors, picking a module from the Phalanx 100 is usually a good choice.

      The majority of people to whom I teach Perl are already software developers, and they already have a degree or industry experience. However as Adam has mentioned, teaching Perl at a University level is a different matter.

      University students, in the vast majority of cases, are more interested in getting good marks than exploring the possibilities of choice or doing things "the best way". Your grades are what get shown on your academic transcript, and what your techers, parents, peers, and potential employers see. Having four modules for roman numerials doesn't fill you with joy, it just makes the assignment harder.

      There will always be exceptions to this. Some students will be truly interested in the subject, and really there for the joy of learning and discovering. However most will just want the grades, and some will only be doing the subject as it's a pre-requisite for something they'd rather be doing.

      I don't have a good solution to this one. I can say that teaching Perl in the later years of a degree can help, since by this time students already have a wider exposure to languages and ideas.