Which modules do you "allow" yourself to use for production?
djk at tobit.co.uk
Mon Jul 22 21:39:33 BST 2013
On 22/07/13 19:45, Pierre M wrote:
> As i was asking for advice in a previous email, Dirk Koopman wrote:
> "Use the lowest impact perl from the beginning (that probably means
> avoiding Moose, Catapole et al)."
> I understand that this means: "avoid modules with lots of dependencies". Is
> that right? I thought Moose only slowed things down at compile time, am i
> What is the negative impact of using it for a web-app?
There is a significant difference between Moo and Moose. The same is
true for other choices between modules that you might make. And yes, I
would advise against producing production code that has lots of external
(CPAN) dependencies, especially if the normal path through those modules
touches most of them. There are numerous (horror) stories of what can
happen when one wants to update something, say a perl or a major CPAN
component with many dependencies.
While I reckon prototyping is useful, you should be aware that when
dealing with people that have Pound note watermarks etched on their
glasses, prototypes have a habit of becoming (the rump of) "production"
code. This, IMO, is usually a recipe for failure and if not that, then
significant engineering cost later on. Which is not to say that your
partner is such a person.
The choices you make now will colour your development for several years,
unless you (intend to, from the start) throw that codebase away and
start again. A plan that you might like something in writing about in
your agreement/design goal document.
The trick with this software writing lark is to get the balance right
from as near the start as possible. But don't agonise for a long time
over all this, get on with writing it :-)
More information about the london.pm