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

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to