To my mind, a feature becomes bloat when I can achieve the feature in my own code, using less code than it adds to the module.

Perl itself doesn't have a log10 function, as this can easily be simulated by the programmer using the provided log2 function.

Personally, there are quite a few CPAN modules that have features I would use, if I didn't have to take all the 'value-add' functionality as well. I think that providing generic functionality in many modules detracts from them rather than adding to them.

Example. There appear to be at least 3 different modules that will perform url-encoding and decoding.

Wouldn't it make more sense to have a single, lightweight module to do this and have the other 3 modules require it?

Where a module provides a collection of features that are unlikely to all be used in every program that uses the module, the POSIX' modules way of only loading those subs that are asked for is much prefereable to the method used in some others where the code is loaded regardless, but only those subs asked for are exposed. This seems to be the worst of all worlds as it means that I am loading code that there is simply no way for my program to use anyway, which seems more than a little pointless.


Examine what is said, not who speaks.
1) When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong.
2) The only way of discovering the limits of the possible is to venture a little way past them into the impossible
3) Any sufficiently advanced technology is indistinguishable from magic.
Arthur C. Clarke.

In reply to Re: When is a feature bloat? by BrowserUk
in thread When is a feature bloat? by ajt

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.