Hi Next week I'm going to be presenting the case for using Moose within my team. I'll be talking about benefits like standardisation, being able to write code that focuses on the purpose of a given class instead of having to write the low-level "how to make an object" code, having a gentle introduction to the Perl 6 OO model, etc.
Any other benefits anyone can suggest? The flip side is addressing the concerns some people have. Any comments on any of these would be gratefully received. * Performance - object creation in particular being a lot slower (circa 25 times slower than a basic blessed hash, benchmarked using Moose 0.94) * Roles are a mixed blessing and can encourage some very complex code, especially if inheritance is thrown into the mix * API stability - Moose has gone through a lot of backwards-incompatible changes, as described on http://search.cpan.org/~flora/Moose-1.01/lib/Moose/Manual/Delta.pod * Too much magic - non-obvious stuff is installed by Moose that is hard to debug, e.g. signal handlers during object construction? * Verbosity - Moose has a pretty long-winded declaration syntax * Learning curve - Moose has a lot of complicated features that will take time to learn Of course, if you think Moose is a bad choice, I'd also be interested in your opinions and experiences. Alex _______________________________________________ BristolBathPM mailing list [email protected] http://mailman.bristolbath.org/mailman/listinfo/bristolbathpm
