On Thu, Jul 23, 2020, 9:19 PM Rob Cliffe via Python-ideas
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 have used Python for 22 years, and I still cannot remember what else does in a loop for more than a few minutes at a time. It's easy to remember "it has something to do with whether there was a break." But neither direction in that choice yet feels obvious to me.
I've read all the posts in this thread. I watched Raymond's explanation from a talk a few years ago. I've read Guido's explanation. I've read Knuth. I have a graduate degree in humanities and am a professional writer. I'm a native English speaker.
It's still not intuitive to me.
In my own code I just avoid the construct. I reckon I'm +1 on "some better spelling" ... although I manage fine without using it. I rarely see it in the wild, probably because it is confusing.
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. And suggesting that those of us who don't find it clear lack skill in English is just plain insulting.
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.