First off, yes. :-) I feel your pain, particularly when I have to start installing something in Crypt::.
But, I think the problem is overstated and not just by you. Let's take Class::Accessor. I just updated to the latest (0.31) and here's what I find:
- 675 total lines.
- Total space taken - 17k.
- After removing POD, 196 total lines of real code (reduced to 4K).
- ~140 lines really needed if we applied a couple space reducers.
And, that code goes ahead and provides an extensible way of safely building classes. Personally, I'm ok with that, particularly if I use it across multiple projects. Frankly, writing an OO system used to be almost
de rigeur for becoming a solid Perl developer. Pointing people at existing projects and having them do something else to cut their teeth on is a great thing.
Now, I think what you (and everyone else) are complaining about boils down to a lack of standards. There are so many different versions of the wheel that when you install a non-trivial amount of CPAN, you end up with 17 different OO systems. And, on its face, this is something that sucks. But, I think it's a necessary price to pay to have the necessary pot au feu that Perl provides. What other language has the same kind of joyous abandon leading to the amazing things one can find on CPAN? As I've said before, 90% of every Perl application is already written. You just have to find it. I'm willing to pay with a little bit of pain in dependencies.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.