in reply to When is a feature bloat?

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.