Author veky
Recipients docs@python, r.david.murray, rhettinger, steven.daprano, terry.reedy, veky, xfq
Date 2016-11-19.05:19:36
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1479532777.19.0.779270636267.issue28681@psf.upfronthosting.co.za>
In-reply-to
Content
Obligatory link: https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ :-P
Yes, Python objects are simpler than people, but still not completely trivial. The core issue is "who does the calling".

Even one's native language might subtly (in Orwell sense) alter what they mean the name is. English question "What is your name?" is usually translated into Croatian (and some other Slavic languages) as "Kako se zoveŇ°?", literally "how do you call yourself". In some other languages, it's "how should I call you". I think you agree those are three different concepts. And I think most disagreements between people in these discussions stem from those cultural differences. (Even people who consider English their native language might still have cultural differences, since English is spoken so widely.)

In Python, the most important distinction is "name as own identity"(1) vs "name as handle for calling"(2). Of course, we all know that each of these concepts have disadvantages, and as such, cannot serve completely. name(1) is not something all objects have (but e.g. functions and classes do), while name(2) is external to the object - each of existing namespaces might or might not have a way (or three, or infinitely many) to refer to it. And all those ways are not considered to be known to the object itself.

Since this concrete example speaks about names of functions defined with a def statement, those concepts coincide, and that's why some people have thought it speaks about name(1) and some others have thought it speaks about name(2). If we want to be completely honest, we should clarify that "name" is used in two ways, and that later text speaks only about name(2). But it might be too much for beginners. In that case, we should probably avoid mention name(1) sense until much later, and speak only of names as "name(2)".
History
Date User Action Args
2016-11-19 05:19:37vekysetrecipients: + veky, rhettinger, terry.reedy, steven.daprano, r.david.murray, docs@python, xfq
2016-11-19 05:19:37vekysetmessageid: <1479532777.19.0.779270636267.issue28681@psf.upfronthosting.co.za>
2016-11-19 05:19:37vekylinkissue28681 messages
2016-11-19 05:19:36vekycreate