in reply to Re^2: Challenge: CPAN Golf
in thread Challenge: CPAN Golf

Of course the time and work I have to spend to install modules stands in no relation to the time spent and effort put into writing, testing and maintaining just one of the modules I install along with the top-level target, and I am not wanting to be ungrateful; giving back is maybe the strongest reason for hanging out here on PerlMonks. I'd write useful modules myself if I were more brillant and faced problems for which there isn't a module yet on CPAN; or if I could significantly improve existing solutions.

If you want something to work on, I'd love to give you either PDF::Template and/or Excel::Template. Or, I could use help working on DBM::Deep on Win32. Or, any of the other 20 really cool module ideas I have rattling around that I simply don't have time to work on. Like Presto. Or PerlGems.

You did note the "small benefit" part? I am not arguing for dependency-free modules, but for as little dependencies as possible, which of course is no absolute, but something worth thinking of; and "as possible" has many constraints.

So, I go ahead and put in a dep on ABC because it saves me half the project. It has a dep on DEF cause that saves it half the project. DEF's author is stupid and has 30 deps. Should I avoid ABC because of that?


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

Replies are listed 'Best First'.
Re^4: Challenge: CPAN Golf
by shmem (Chancellor) on Jan 08, 2008 at 23:57 UTC
    DEF's author is stupid and has 30 deps. Should I avoid ABC because of that?
    I'd say yes, definitely - if you can afford it. Otherwise the submit to CPAN is questionable. ABC is likely to break (weakest link chain rule) because of DEF. Don't avoid ABC if you can convince its author to not use DEF, or if you can convince the author of DEF of the "less is more" principle. It is your module that's beholden (?) as unusable - even if the fault lies in DEF.

    update: I'm checking your modules =~ /${'my aptitude'}/

    --shmem

    _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                  /\_¯/(q    /
    ----------------------------  \__(m.====·.(_("always off the crowd"))."·
    ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}