anything like C++ references?

Aahz aahz at pythoncraft.com
Mon Jul 14 10:26:36 EDT 2003


In article <sfa4hvkq1j7rg1iga5j3tk2cc4qpr6e5qk at 4ax.com>,
Stephen Horne  <intentionally at blank.co.uk> wrote:
>On 13 Jul 2003 21:43:41 -0400, aahz at pythoncraft.com (Aahz) wrote:
>>In article <sag3hv4vf884ed7ouu5cv8ofnopp9j1t12 at 4ax.com>,
>>Stephen Horne  <intentionally at blank.co.uk> wrote:
>>>
>>>In computer science, a variable is a named binding to a value.
>>>Operations on that variable may rebind it to a different value, but
>>>values don't change behind your back. A pointer is, in effect, a value
>>>which indirectly refers to another (possibly anonymous) variable. A
>>>pointer is something you specifically request, and by doing so you
>>>allow that the 'variable' being indirectly referenced may be modified
>>>by something else that has no direct access to your pointer value (via
>>>your named variable or via copys or pointers-to your pointer held
>>>elsewhere).
>>>
>>>Python should respect that.
>>
>>That's why I (and others) prefer to use "name" and "target" instead of
>>"variable".  Would that assuage your ire?
>
>Not really, for reasons defined elsewhere. The problem isn't
>theoretical - it is practical, as shown by the fact that people do
>trip over it time and time again. I'm just saying that the problem
>arises out of peoples intuition of how variables should work - an
>intuition that matches very well with theory.

People trip over pointers, too, even when they're explicit.  Heck,
people have problem with the simple

    a = a + 1

no matter *what* programming language is used if they can't get past
their high school algebra and understand that "=" is a *command* in this
context.  The question is not whether newcomers get tripped up, but the
extent to which the language can be easily defined in a consistent and
rigorous manner.  Python passes that test quite handily, IMO.
-- 
Aahz (aahz at pythoncraft.com)           <*>         http://www.pythoncraft.com/

"Not everything in life has a clue in front of it...."  --JMS




More information about the Python-list mailing list