Finding the instance reference of an object

Joe Strout joe at strout.net
Wed Nov 19 19:28:25 CET 2008


On Nov 19, 2008, at 11:05 AM, Douglas Alan wrote:

> Personally, I find this whole debate kind of silly, as it is based on
> a completely fallacious either/or dichotomy.
>
> (1) It is unarguably true that Python and Java use a type of
>    call-by-value.  This follows from the standard definition of
>    call-by-value, and common usage in, for example, the Scheme and
>    Java communities, etc.

True.

> (2) It is also unarguably true that saying that Python or Java use
>    "call-by-value", and saying nothing more is going to be profoundly
>    confusing to anyone who is learning these languages.

Perhaps (unless they've already learned this from one of the other  
languages).

> Q. How do we generally solve this problem when speaking?
>
> A. We invent more specific terms and then generally stick to the more
> specific terms when the more general terms would be misleading.
>
> I.e.,
>
>   Q. What is Greg?
>
>   A. Greg is a human being.
>
> and
>
>   Q. What type of calling semantics do Python and Java use?
>
>   A. Call-by-sharing.

Fair enough, but if the questioner then says "WTF is call-by-sharing,"  
we should answer "call-by-sharing is the term we prefer for call-by- 
value in the case where the value is an object reference (as is always  
the case in Python)."

> I assert that anyone who does not understand all of the above, is
> helping to spread confusion.

I agree.

Best,
- Joe




More information about the Python-list mailing list