Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Using the strict module in object oriented programming

by phaylon (Curate)
on Jul 25, 2006 at 15:53 UTC ( [id://563560]=note: print w/replies, xml ) Need Help??


in reply to Using the strict module in object oriented programming

I've been ridden by the Moose lately, and I really, really love it. While I am still amazed of the power and flexibility of Perl's own OO system, I'm at least as amazed of what Moose got out of it.

Ordinary morality is for ordinary people. -- Aleister Crowley
  • Comment on Re: Using the strict module in object oriented programming

Replies are listed 'Best First'.
Re^2: Using the strict module in object oriented programming
by xdg (Monsignor) on Jul 26, 2006 at 03:34 UTC
    While I am still amazed of the power and flexibility of Perl's own OO system, I'm at least as amazed of what Moose got out of it.

    Sometimes there is too much flexibility.

    Moose is built on Class::MOP, which implements a meta-object protocol. The MOP lays out a well-defined abstraction for the components of an object system and how they are supposed to behave and interact. That well-defined abstraction is what the Perl object system lacks, so Class::MOP builds one on top of the Perl object system and has it provide the API for things like Moose.

    Many kudos for stvn for his work on it. (And more kudos for his explaining the MOP to me at YAPC in simple words I could understand.)

    For more on MOP:

    -xdg

    Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

      Sometimes there is too much flexibility.

      Moose is built on Class::MOP, which implements a meta-object protocol. The MOP lays out a well-defined abstraction for the components of an object system and how they are supposed to behave and interact. That well-defined abstraction is what the Perl object system lacks, so Class::MOP builds one on top of the Perl object system and has it provide the API for things like Moose.
      I respectfully but hardly disagree. Without the flexibility, we'd have one solution. Maybe it would be like Moose, maybe it would be another. But it certainly couldn't evolve in the way it does. So, for my part: Hooray for flexibility.

      YMMV.

      Ordinary morality is for ordinary people. -- Aleister Crowley
        Without the flexibility, we'd have one solution

        This is not about black or white. MOP doesn't eliminate flexibility, it just defines an interface around it.

        -xdg

        Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://563560]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (7)
As of 2024-04-23 12:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found