Why does python not have a mechanism for data hiding?

Mark Wooding mdw at distorted.org.uk
Sun Jun 8 14:40:37 CEST 2008

Russ P. <Russ.Paielli at gmail.com> wrote:

> The idea of being able to discern properties of an object by its name
> alone is something that is not normally done in programming in
> general. 

Really?  You obviously haven't noticed Prolog, Smalltalk, Haskell, ML,
or Erlang then.  And that's just the ones I can think of off the top of
my head.

  * Prolog and Erlang distinguish atoms from variables by the case of
    the first letter; also `_' is magical and is equivalent to a new
    variable name every time you use it.

  * Smalltalk distinguishes between global and local variables according
    to the case of the first letter.

  * Haskell distinguishes between normal functions and constructors
    (both data constructors and type constructors) by the case of the
    first letter, and has Prolog's `_' convention.

  * ML allows a single-quote in variable names, but reserves names
    beginning with a single-quote for type variables.  It also has
    Prolog's `_' convention.

As far as I can see, discerning properties of a thing from its name
seems relatively common.

-- [mdw]

More information about the Python-list mailing list