> On 23 Jul 2020, at 17:04, Rob Cliffe via Python-ideas 
> <python-ideas@python.org> wrote:
> 
> 
> 
> On 23/07/2020 16:24, Stephen J. Turnbull wrote:
>> Steven D'Aprano writes:
>>  > On Wed, Jul 22, 2020 at 06:14:39AM +0300, Paul Sokolovsky wrote:
>> 
>>  > > But no, loop executes, *or else* the following "else" block
>>  > > executes ;-).
>> 
>> He means the loop *suite* executes (this includes "getting to" a break
>> statement or other control flow that leaves the loop *statement*
>> entirely), and if it doesn't, the else suite does.  This is "why" such
>> nonlocal exits differ from finally in that they don't run the else suite.
>> 
>> I personally think this is a perfectly clear and convincing argument
>> for "else" as the keyword for this statement (once "suite" is added to
>> Paul's phrasing).
>> 
>> This is why programmers should major in English, and do a graduate
>> degree in programming if they really think they need a degree in
>> programming.
>> 
>> 
> The upholders of the status quo regularly provide gallant explanations of why 
> "else" is perfectly natural, even intuitive.
> The fact is, it isn't.  If it were, it wouldn't *need* to be repeatedly 
> explained by gurus to lesser mortals.  I can't think of any other area of 
> Python that needs to be defended so regularly and so vociferously, nor that 
> very experienced Python programmers confess they find confusing.  Swelp me, 
> someone in this very thread (Barry) misunderstood it[1].  And suggesting that 
> those of us who don't find it clear lack skill in English is just plain 
> insulting.

Yes indeed, my intuition cannot get the for else into my head.
And as I proved wonderfully I got it wrong.
I never use the for else and in the rare cases I have seen it in code reviews 
ask that it is replaced because so few people know what it means.

Barry

> 
> YMMV, but the only way I can grok it when I see it is to mentally translate 
> "else" to "if no break".  This is mental effort that would be spared or at 
> least diminished if it were spelt in a more obvious way in the first place.
> 
> Best wishes
> Rob Cliffe
> [1] or at least I think he did, I had trouble understanding him.
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at 
> https://mail.python.org/archives/list/python-ideas@python.org/message/5GP4ECQNS456YW5I73F4Y7N7ALSLHDQ2/
> Code of Conduct: http://python.org/psf/codeofconduct/

_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/CM37P5UODT4OF4NKR6FM32IC24GO7NFK/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to