On Mon, Jul 23, 2018 at 6:43 AM, Giampaolo Rodola'
On Sun, Jul 22, 2018 at 10:01 PM Chris Angelico
wrote: On Mon, Jul 23, 2018 at 1:09 AM, Giampaolo Rodola'
wrote: On Sun, Jul 22, 2018 at 3:38 PM Chris Angelico
wrote: I find it less explicit mainly because it does 3 things at once: check if attribute is None, use it if it's not None and continue the evaluation from left to right. I find that logic to be more explicit when living on different lines or is clearly delimited by keywords and spaces. ? has no spaces, it's literally "variable names interrupted by question marks" and evaluation can stop at any time while scanning the line from left to right. Multiple "?" can live on the same line so that's incentive to write one-liners, really, and to me one-liners are always less explicit than the same logic split on multiple lines. Ah, I see what you mean. Well, think about what actually happens when you write "lst.sort()". In terms of "hidden behaviour", there is far FAR more of it in existing syntax than in the new proposals.
I am not sure I'm following you (what does lst.sort() have to do with "?"?).
The "." in "lst.sort" is an operator. How much hidden behaviour is there in that? Do you actually even know every possible thing that can happen? Don't feel bad if you don't - it's not an indictment of your quality as a programmer, but an acknowledgement that Python's attribute access is incredibly complicated.
Which is back to what Steven said: people demand such a high bar for new syntax that few existing pieces of syntax would pass it.
Probably. That's what happens when a language is mature. Personally I don't think that's a bad thing.
I do. It means people place crazily high demands on new proposals. Imagine if we were talking about people, rather than features in a language; imagine if, to join the Warriors Guild, you had to first slay a red dragon with nothing but a rusty dagger, despite none of the existing members having done so. Is that reasonable to ask? Can you say "well, the guild is mature now, so yeah, it's a good thing"? ChrisA