[Melbourne-pm] Google Wave Anyone?

Daniel Pittman daniel at rimspace.net
Thu Oct 29 04:04:47 PDT 2009


Michael Potter <megamic at gmail.com> writes:
> On Thu, Oct 29, 2009 at 5:23 PM, Daniel Pittman <daniel at rimspace.net> wrote:
>> Michael Potter <megamic at gmail.com> writes: 
>>> On Thu, Oct 29, 2009 at 3:51 PM, Daniel Pittman <daniel at rimspace.net> wrote:
>>>> Toby Wintermute <tjc at wintrmute.net> writes:
>>>> In other news; I'm liking Moose a lot, especially since the .9 release
>>>> with all the built-in attributes and corresponding traits.. but I'm
>>>> curious to know what everyone else thinks of Moose.

[...]

>> > For example composition/delegation, method currying, built in type
>> > definition and validation, attribute traits, roles, full meta-class
>> > reflection and so much more.
>> 
>> ...but all of those are *possible* with standard Perl OO, right?
>
> *anything* is possible in Perl5 OO. Even Moose ;-) 
>
> My point was Moose will encourage people to use idioms that they would
> otherwise probably never even hear of. I had never come across many of the
> concepts in Moose (such as method currying) that I now use on a daily basis
> in code that small, maintainable and light-years head of what I used to
> write. 

Heh.  I guess studying the programming technology of the 1980s isn't much in
favour these days, so many people don't know about these basic features of
object oriented programming any more.  I am pleased to see those all coming
back.

> Some features (like type validation or attribute declaration) are available
> in other modules or frameworks and commonly used, however others (like roles
> and traits) provide a new capability that completely change how you approach
> a problem with OO. Evil multiple-inheritance be gone with you!

...if only they had bitten the bullet and accepted that object-focused
"methods" were also evil, and implemented multiple dispatch instead.  Still,
you can't have everything, and a commonly used MOP is a damn good start.

(Plus, method-focused OO is baked pretty deeply into Perl, CPAN, and the Perl
 interpreter.  Given that, diverging would lose the benefit of continuity and
 make it just as easy to use some other language — and without CPAN that
 really /would/ be compelling.)


Anyway, in all seriousness: you are right that Moose, by making these things
easy, is going to encourage people to use techniques that are not very
commonly available these days.  This is, all in all, a good thing.

        Daniel

-- 
✣ Daniel Pittman            ✉ daniel at rimspace.net            ☎ +61 401 155 707
               ♽ made with 100 percent post-consumer electrons
   Looking for work?  Love Perl?  In Melbourne, Australia?  We are hiring.


More information about the Melbourne-pm mailing list