http://qs321.pair.com?node_id=359607


in reply to Open to debate on mixins and traits.

<disclaimer>I have never used interfaces, mixins, roles, etc and am basing this reply completely on A12</disclaimer>

Anything done poorly is ... well ... poor. How many of us have seen OO-done-poorly? pass-by-reference as a substitution for globals? The examples are endless.

Now, I don't anticipate the average programmer using any roles they wrote themselves. I do anticipate a standard set of roles released to CPAN, probably mapping somewhat closely to your list. I anticipate roles being something that the expert Perl developer will approach very cautiously and treat as a plaything which could be very handy. For a while.

Within 2-3 years, I anticipate roles being part of the standard lexicon. This is going to be very much like how lexical closures were dealt with in the Perl4/Perl5 transition. Or, in smaller vein, how our and use warnings; were handled in the 5.00x -> 5.6.x transition. They're new, most people don't know them intimately, and we'll learn how to use them.

------
We are the carpenters and bricklayers of the Information Age.

Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

I shouldn't have to say this, but any code, unless otherwise stated, is untested