Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Seeking inside-out object implementations

by Perl Mouse (Chaplain)
on Dec 06, 2005 at 23:48 UTC ( #514677=note: print w/ replies, xml ) Need Help??


in reply to Seeking inside-out object implementations

The list so far includes
What I find amazing is that whatever style people suggest to code objects in, a gazillion modules appear, each attempting to implement that style in a different way. And each of them introduces another API to learn. What's worse, (almost) all of them come with enough drawbacks that one may wonder what the point of any of them are.

Have I missed any?
The obvious one: don't use a module.
Perl --((8:>*


Comment on Re: Seeking inside-out object implementations
Re^2: Seeking inside-out object implementations
by xdg (Monsignor) on Dec 07, 2005 at 00:45 UTC
    The obvious one: don't use a module.

    My initial reaction to this snide remark was to dismiss it as yet another exercise in sarcasm. However, looking back at my post, I suppose I didn't make it clear that the purpose of the seminar is to teach the inside-out technique, and, particularly, its pros and cons. I also want to give an overview of the "gazillion" modules that are springing up, so people understand what each one brings or doesn't bring.

    As to the gazillion modules, what's the alternative? Every programmer going out and making their own gazillion mistakes writing everything by hand? At least CPAN modules, flawed as they might be, have the potential to benefit from some degree of peer review, experience and bug reports. (c.f. the growing Class-Std bug list)

    What I find slightly amazing is that none of the tech reviewers for PBP picked up on any of the potential design issues before Damian went out and declared inside-out objects as the a new best practice.

    -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.

      As to the gazillion modules, what's the alternative? Every programmer going out and making their own gazillion mistakes writing everything by hand?
      That's like saying everyone should take a cab into work, instead of driving yourself and create car accidents.

      We've already established that all the modules have their flaws (otherwise, we'd quickly agree what module to use). And frankly, inside-out objects are simple. Hardly more complicated than hash based objects.

      Give programmers a bit of credit.

      Perl --((8:>*
        That's like saying everyone should take a cab into work, instead of driving yourself

        That's an interesting way of selectively quoting what I said to shift the meaning. Perhaps you should have included my next sentence:

        At least CPAN modules, flawed as they might be, have the potential to benefit from some degree of peer review...

        Unlike cab drivers.

        -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.

        And frankly, inside-out objects are simple. Hardly more complicated than hash based objects.

        If it wasn't for the DESTROY block issue I'd agree. However I've found it surprisingly easy to foul this up leading to memory leak issues that cause me more problems than the occasional development issue with encapsulation and typos.

Re^2: Seeking inside-out object implementations
by Ovid (Cardinal) on Dec 07, 2005 at 01:27 UTC

    You may say "drawbacks", others might say "features". If a particular implementation does exactly what you need, why not use it?

    Cheers,
    Ovid

    New address of my CGI Course.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (14)
As of 2014-10-02 16:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    What is your favourite meta-syntactic variable name?














    Results (65 votes), past polls