in reply to Re: Re: Litmus test: It's ok to roll your own if...
in thread Litmus test: It's ok to roll your own if...

If people are reinventing wheels, they are usually not contributing useful patches and ideas to CPAN.
Really? If someone reinvents a wheel by creating a module that does X, while there is already a module doing X, he basically made a patch the size of a module. Reinventing wheels is usually done because someone didn't like the original wheel. It's often more efficient to reinvent a round wheel, than to submit patches for a square wheel (if only the creator of the square wheel likes squares, or because round wheels aren't compatible with the vehicles equipped with square wheels).

A strong CPAN makes my life easier. Also, it has been my experience that despite what you say about integration problems, reinventing wheels usually leads to wasted time, less functionality, and more bugs, all of which makes Perl look bad.

There are no quality requirements for CPAN. Anyone can already load any crap on CPAN, and many already do. Non-overlapping functionality doesn't make CPAN stronger, it probably makes it weaker. Choice is good (remember one of the slogans of Perl: there's more than one way of doing it?) Your reasoning would mean that the first module doing Y that was uploaded to CPAN is necessary the best one. Good heavens. Had Matt Wright made his formmail.pl available on CPAN, you would have preferred noone else would have created a form to email utility, but they all had used Matt's script.

Abigail

  • Comment on Re: Litmus test: It's ok to roll your own if...

Replies are listed 'Best First'.
Re: Re: Litmus test: It's ok to roll your own if...
by perrin (Chancellor) on Sep 19, 2003 at 15:58 UTC
    Reinventing wheels is usually done because someone didn't like the original wheel.

    From what I've seen, it's usually done because someone is unwilling to deal with the politics or technical issues of installing a module at their site. Sometimes it's because they're too lazy to check CPAN or to spend any time trying to understand the documentation for existing modules. Or sometimes it's because the perfectly workable API that comes with the module doesn't match someone else's fantasy of the perfect API. Every now and then it is done because someone looked at the existing modules and they didn't meet the project's requirements.

    It's often more efficient to reinvent a round wheel, than to submit patches for a square wheel

    I have nothing against someone making a new module if the existing modules are not good. Often though, a patch is all that's really needed.

    There are no quality requirements for CPAN. Anyone can already load any crap on CPAN, and many already do.

    The cream rises. I would never tell anyone to use a bad module from CPAN.

    Your reasoning would mean that the first module doing Y that was uploaded to CPAN is necessary the best one.

    Certainly not. I never said such a thing.

    Had Matt Wright made his formmail.pl available on CPAN, you would have preferred noone else would have created a form to email utility, but they all had used Matt's script.

    Matt's script was not good. Someone would have fixed it or replaced it by now.

    I don't advocate people blindly using whatever is on CPAN and never questioning the quality, but you'd be a fool to write your own HTML parser these days without a very good reason.

Re: Re: Litmus test: It's ok to roll your own if...
by Anonymous Monk on Oct 15, 2003 at 14:45 UTC
    On my site http://jokubonis.20megsfree.com I present idea - The Square Wheel. At first I want surprise You that roll of Square Wheel is very restful and lenitive! I invite You to see videoclip on this page how a square wheel roll equal as easy round wheel. Be surprised and surprise Your friends.