Are the critiques in "All the things I hate about Python" valid?

Ned Batchelder ned at nedbatchelder.com
Mon Feb 19 13:56:18 EST 2018


On 2/19/18 1:01 PM, Paul Moore wrote:
> On 19 February 2018 at 17:11, Ned Batchelder <ned at nedbatchelder.com> wrote:
>> On 2/19/18 10:39 AM, Paul Moore wrote:
>>> I'm curious - How would you explain Python's "variables" to someone
>>> who knows how C variables work, in a way that ensures they don't carry
>>> across any unfortunate misconceptions based on how C works? If I had a
>>> good way of doing that, maybe I wouldn't need to play apple/orange
>>> games when discussing the subject.
>> I would (and did) explain it like this:
>> https://nedbatchelder.com/text/names1.html
>>
>> That talk was pretty much powered by hating the phrase "Python has no
>> variables" :)
> Interesting (and somewhat embarrassing :-() That talk (which I'd
> forgotten was yours) was one of the key things that made me start
> thinking in terms of Python naming values rather than assigning values
> to variables! I still find that your explanation (which never uses the
> term "variable" until you refer to the "Python has no variables" idea
> at the end) is one of the best ways to describe how Python assignment
> works.
>
> But using your explanation as a way to defend a statement that you
> don't agree with is wrong, so I'll stop doing that in future. Sorry!
>
> In terms of your talk, would I be right to say that "names" (in the
> sense you use them in that talk) are Python's "variables"? That
> equates to common usage, so I can go with that ("Python's variables
> act like names, unlike other languages"). But I'd hate to replace one
> misunderstanding of what you said with another, so let me know if I've
> still got it wrong...

TBH, I forget the exact words I used during the talk, but: names are 
Python's variables. That sounds good to me.

--Ned.




More information about the Python-list mailing list