Russ P. a écrit :
On Jun 2, 6:41 am, Carl Banks <[EMAIL PROTECTED]> wrote:

You are not realizing that only useful(**) thing about data hiding is
that some code has access to the data, other code does not.  If you
"hide" data equally from everyone it's just a useless spelling change.

I think you're missing the point.

As I see it, the primary value of data hiding is that it provides
useful information on which data and methods are intended for the
client and which are intended for internal use. It's like putting a
front panel on a TV set with the main controls intended for the
viewer.

People seem to be preoccupied with whether or not the back panel of
the TV is locked, but that is not the main issue. Sure, you probably
want to make the back panel removable, but you don't want the viewer
opening it up to change the channel, and you certainly don't want to
put all the internal adjustments for factory technicians together with
the controls for the end user.

As far as I am concerned, the current Python method of using
underscores to distinguish between internal and external methods and
data is an ugly hack that goes completely against the elegance of the
language in other areas.

As far as I'm concerned, it's JustFine(tm). I don't have to ask myself if an attribute is part of the API or not, I know it immediatly.

It is like a TV set with no back cover and
the volume and channel controls intermingled with the factory
controls. The underscores are just an afterthought like a red dot or
something used to tell the TV viewer  what to fiddle with.

Your opinion. But beware of leaky TV-Set-metaphor abstractions

Python is a very nice language overall, but as far as I am concerned
the underscore convention is a blemish. I just wish people wouldn't
get so infatuated with the language that they cannot see the obvious
staring them in the face.

I definitively don't have problem with this naming convention, which I'd find useful ever with a language having enforced access restrictions. If that's the only - or worse - wart you find in Python, then it must surely be a pretty good language !-)
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to