Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://771216]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2022-05-21 00:50 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (76 votes). Check out past polls.