Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

Reaped: Re: *::Tiny modules namespace origins

by NodeReaper (Curate)
on Oct 09, 2020 at 02:38 UTC ( #11122613=note: print w/replies, xml ) Need Help??

in reply to *::Tiny modules namespace origins

This node falls below the community's threshold of quality. You may see it by logging in.
  • Comment on Reaped: Re: *::Tiny modules namespace origins

Replies are listed 'Best First'.
Re^2: *::Tiny modules namespace origins
by eyepopslikeamosquito (Bishop) on Oct 09, 2020 at 07:34 UTC

    SunnyD, why respond "anonymously" twice with the same twaddle? As you are wont to do, you're over-simplifying, focusing on one aspect only (namely performance), ignoring everything else. In particular, you don't even mention dependencies. My opinion is that minimizing dependencies is the primary reason why the ::Tiny modules remain relevant today. From Writing Solid CPAN Modules, some cautionary advice on introducing dependencies in your CPAN modules:

    • Every module you add as a dependency is a module that can restrict your module -- if one of your module's dependencies is Linux-only, for example, then your module is now Linux-only; if another requires Perl 5.20+ so do you; if one of your dependencies has a bug, you also have that bug; if a new release of one of your dependencies fails, the likelihood of your release being unable to install increases; take care with dependencies having a different license to yours. Don't introduce dependencies lightly.
    • It's usually best to use popular, quality CPAN modules in complex domains (e.g. DBI and XML) rather than roll your own. Doing so allows you to leverage the work of experts in fields that you are probably not expert in. Moreover, widely used CPAN modules tend to be robust and have fewer bugs than code you write yourself because they are tested by more users and in many different environments. Finally, if your module depends on a very popular CPAN module, there's a good chance your module's users will already have it installed.
    • Cost vs Risk. Though using CPAN modules seems "free", there are hidden snags. What if your dependent module has a security vulnerability? What if the author abandons it? How quickly can you isolate/troubleshoot a bug in its code?
    • Quality and Trust. Before introducing a dependency, it's worth checking CPAN ratings, Kwalitee score, bug counts, how quickly are bugs fixed etc. Does it contain gratuitous/unnecessary dependencies? (the ::Tiny CPAN modules were a reaction against modules that seemed to haul in half of CPAN as dependencies).

    Updated: Minor changes to wording.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://11122613]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (3)
As of 2021-05-07 17:38 GMT
Find Nodes?
    Voting Booth?
    Perl 7 will be out ...

    Results (93 votes). Check out past polls.