On Fri, 24 Jul 2020 at 02:18, Rob Cliffe via Python-ideas firstname.lastname@example.org wrote:
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.
Fair point. It needs to be learned and remembered. It's not intuitive.
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.
Again, probably true. With hindsight, if we were designing Python from scratch now, we'd probably not spell this as "else". We'd probably omit it altogether rather than using an alternative spelling, but that's a side issue.
BUT - we're not designing Python now. The "else" clause on loops has been around for many years. It's in books, training courses and in existing, working code. We can't break all of that without a fairly large cost. And (as I've noted before) having *two* ways of writing this obscure construct would be even more confusing, particularly as people working with existing code or learning from existing training materials will naturally see the (presumably less intuitive and obvious) "else" spelling.
So even accepting all of your points above, it's still very unlikely this will change. Not because there's no benefit, but because the cost is too high.