OTOH, if something like Moose is setting up your accessors in declarative style, then it becomes a question of: is Moose correct?

FWIW, Moose is really well tested and the Moose development team is dedicated to test driven development. Class::MOP (the underlying meta object protocol that Moose is built on) has 2242 unit tests and Moose itself has 4632 unit tests. We also consider the test suites of the over 700 modules that depend on Moose to be an "external" test suite, so much so that we have a smoke testing setup which downloads and tests a set of approx. 100 of those CPAN modules and runs them before we release (and you can actually make it download all 700 or so if you want, but that tends to take a while). Additionally the Catalyst framework now uses Moose and since that is still a very active project Moose ends up getting exercised there as well.

One of the key selling points of Moose is that you no longer need to write tedious and repetitive accessors and constructors all the time. Moose instead provides a sane, consistent and well tested object system which does these things for you. We test it, so that you don't have too.

Now regarding "correct"-ness. No, we do not have a proof available to show that Moose is correct, but unless you're working in aerospace or academic research then I doubt that is what you mean. But you should know that Moose was built after about a year of steady R&D via the Pugs project and is based very heavily on tried and proven object models like CLOS and Smalltalk. It is and has been from the very start built as a solid production ready framework which very specifically does not make use of Perl black magic or insane hacks because the inherit fragility they bring to the code. In short, it is not a toy it is serious business.

-stvn

In reply to Re^3: Help me avoid writing C Programs in Perl for a living by stvn
in thread Help me avoid writing C Programs in Perl for a living by cleverett

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.