Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: Using closures to achieve data hiding in OO Perl

by demerphq (Chancellor)
on Jun 13, 2009 at 11:09 UTC ( #771216=note: print w/replies, xml ) Need Help??

in reply to Using closures to achieve data hiding in OO Perl

IMO people that obsess over data hiding in perl have missed the point of perl and should probably be using a different language entirely.

All code is visible in perl. If I encountered your code I'd rip the closure crap out, convert it to a standard hash based object and use Perls strengths (code analysis and data introspection) to deal with the very minimal level of problems that come from Perl's relatively weak data hiding facilities.

Data hiding makes sense when you can not see or inspect the code that you are interoperating with, and is particularly important when the language lacks decent data introspection tools. However Perl does not satisfy either of these points, you ALWAYS have access to the code, and you ALWAYS have access to data introspection tools. Thus hiding data is actually counterproductive, as it means that the standard debugging techniques are useless. This in turn means that your data hiding code is a liability, not an advantage.


  • Comment on Re: Using closures to achieve data hiding in OO Perl

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://771216]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (4)
As of 2018-06-24 05:42 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (126 votes). Check out past polls.