Please help with MemoryError

Alf P. Steinbach alfps at start.no
Fri Feb 12 17:49:38 EST 2010


* Antoine Pitrou:
> Le Fri, 12 Feb 2010 23:12:06 +0100, Alf P. Steinbach a écrit :
>> Steven talks about the standard meaning of "pass by reference".
> 
> See my answer to Steve's message. You can't postulate a "standard 
> meaning" of "pass by reference" independently of the specificities of 
> each language.

Agreed. See e.g. my discussion of C versus C# in the article you responded to.


> For example a "variable" in Python means something 
> different than in non-object languages; it is impossible to have an 
> agnostic definition.

It's possible and relatively speaking easy, but it's bound up with such a tangle 
of terminological and religious issues that it's best not discussed here. :-(

But if you find/have a description that helps you understand what's going on, 
and that correctly predicts the effect of code, then just Use It. :-)

After all, learning some "simpler" description would at that point just be more 
work.


> In Python and other true object languages, the operations on references 
> (especially assignment) don't have the same semantics as in more archaic 
> languages. This is no reason, IMO, to refuse using the term "pass by 
> reference". The state of art in computing languages evolves, and it 
> wouldn't be constructive to remain stuck with definitions from the 1960s.

The main reason for not using that term for Python is that "pass by reference" 
has the extremely strong connotation of being able to implement 'swap'.

And since there already is adequate standard terminology, why confuse things.


Cheers & hth.,

- Alf



More information about the Python-list mailing list