|Think about Loose Coupling|
Re^15: Order in which grep/map receive elementsby BrowserUk (Pope)
|on Oct 09, 2012 at 08:03 UTC||Need Help??|
When I read std::vector docs (C++) ...
Even with the docs for a commitee designed, standards backed library like the STL, shit happens. And when it does -- eg. an STL library bug I encountered on the 8th September this year -- we users have to track the bug down in order to report it, and (with luck) in the fullness of time, it might get fixed. But in the interim, we users have to code our way around those bugs until the next release comes available.
Just do a search:std::vector confirmed bug to see how prevalent these are. If your users/customers are going to be happy with -- sorry, can't fix it until the next release (or the one after) of the STL -- then by all means, treat the STL as a black box. If you are prepared to shell out for a priority maintenance contract with your compiler/STL supplier, maybe you can get more prompt action, but at a considerable price.
But with CPAN libraries -- and even Perl itself -- you are talking volunteers, mostly hobbyists holding down day jobs, and best-efforts. They'll get to it when they get to it; but only once you have provided a very clear demonstration of the bug -- and preferably a patch. And that means getting your hands dirty and pitching in. And that means every library, and all its dependencies become a part of your code-base for teh purposes of bug discovery and fixing.
Many of the CPAN authors are highly skilled guys who take great pride in their hobby and maintain their modules as if they were their own homes -- sometimes better :).
But there are also many less well written and maintained packages, where the original authors have long since moved on to other projects, languages and work roles. Some of them are dead. Sometimes -- with the more well used, better designed modules, another volunteer will step into the breach and will -- whether through choice or necessity -- pick up the maintenance role.
But inferring these documents -- and their statements of current reality, or even intent -- to give "guarantees" is to guarantee only disappointment and worse.
Given the current author/maintainer of List::MoreUtils, I have little doubt that any bug that arose would be corrected ASAP. But the same is true of Perl itself. And any change in the output ordering of grep would absolutely be classed as a bug; regardless of whether anyone has thought to state the reality of that ordering in the docs or not.
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.