in reply to Re^3: Module Bloat and the Best Solution
in thread Module Bloat and the Best Solution

Of course not! That's a ridiculous restatment and you know it. However, battletested code, such as List::MoreUtils, is worth using, even if you could do it yourself. It's one less moving part for you to maintain.

As for bugfixes - I'm referring to bugs that were found in your production code, not mine. Of course, I own all bugs in my code. But, once a fix is pushed upstream, I get it without even knowing the bug had existed.

As for the sentiment, I'm not implying that at all. However, I am saying that if you are putting code into production and expecting users (or boss or client) to pay you for the service, then you have a professional responsibility to use the best version of code possible. That means that you should use the battle-tested, as flawless as possible, code from CPAN (should such code exist). Of course you learn from it - that's why OSS is so valuable: you can read the source. But, you don't have a Not-Invented-Here complex preventing you from delivering the best value for the money you get paid.


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?
  • Comment on Re^4: Module Bloat and the Best Solution

Replies are listed 'Best First'.
Re^5: Module Bloat and the Best Solution
by KurtSchwind (Chaplain) on Nov 12, 2007 at 18:30 UTC

    I don't think it's such a ridiculous re-statement at all actually. Unless there is a way for a normal perl developer to know in advance what code is battle tested and what code has just been put up, you aren't giving the perl community much to base their decisions on. Sure, you have your reasons for using List::MoreUtils (even though it isn't available on the production boxes in my environment) because you feel it's rock-solid code you are willing to stake your reputation on.

    So I propose the question again: I'm a developer. I need to do some task in perl. When should I be hitting CPAN as opposed to just writing the few lines myself? What criteria should I use to know when to use CPAN and when not to? Furthermore, just be virtue of being in CPAN doesn't mean I necessarily want to stake my reputation on it. So what criteria do you use to know when you can stake your reputation on a CPAN module?

    --
    I used to drive a Heisenbergmobile, but every time I looked at the speedometer, I got lost.
      By doing the same thing that you do with every other decision about a product you make in your life (both professional and personal) - you ask people you trust for their opinion.

      As far as when you should use CPAN - I always look on CPAN first and ask around whenever I run into something that requires some thought. Now, I have a really good idea of what's on CPAN when it comes to the kind of work I do and I know the people who work on it. Just like anything else in life, you should know who's building the stuff you depend on.


      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?