[Edu-sig] Overloading (was Re: more on "variable names")

Edward Cherlin echerlin at gmail.com
Wed May 27 02:28:28 CEST 2009


On Sat, May 23, 2009 at 7:43 PM, kirby urner <kirby.urner at gmail.com> wrote:
> I filed the following quick comment after viewing a six minute
> tutorial on variables and values at ShowMeDo.
>
> The video:
>
> http://showmedo.com/videotutorials/video?name=6950010&fromSeriesID=695
>
> My comment:
> """
> idea that values are "stored into" a variable is less the metaphor in
> Python,

Yes, it is a relic of assembly language.

A variable is not a section of memory. It is a pronoun which can have
different referents at different times. One object can be referred to
by many different personal names and a variety of pronouns at the same
time. This is easier to explain in Japanese, which has numerous and
ever-shifting sets of pronouns. "I" in English can currently
correspond to

o watashi
o atashi
o atai
o boku
o ore

Historically, people could also have three, four, even a dozen
personal names, some chosen for various private or public purposes,
some awarded by teachers, some (rarely) awarded by the Emperor, and so
on.

> which is more about assigning or binding names to objects with
> the assignment operator (=).  The problem with "store into" is then
> its hard to picture many names for the same object, yet that's easy
> when you think of a balloon with many strings.
> """

> For example, the so-called "equal sign" (=) would be better called an
> "assignment operator" as most of us here do.

We would do better to use a different symbol entirely. The only reason
for the massive overloading practiced in conventional programming
languages is the utterly obsolete ASCII character set. APL has used
the left-pointing arrow '←' for assignment for decades, and treated
'=' as a Boolean function returning a truth value. Just as APL has
used the correct '×' and '÷' rather than overloading ASCII characters
further. J distinguishes the function '=' from assignment '=.'.

> To make this link stick we could explain how the two parallel lines
> represent "opening a channel to" i.e. now this name (on the left) will
> be able to communicate with the object on the right (some result of
> evaluation).

-1

> Kirby
>
> PS:  do Python's where Prada?
> http://fashionshops.wordpress.com/2009/05/18/prada-ad-campaign-ss-2009/
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig

--
Silent Thunder (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) is my name
And Children are my nation.
The Cosmos is my dwelling place, The Truth my destination.
http://earthtreasury.org/worknet (Edward Mokurai Cherlin)


More information about the Edu-sig mailing list