On Sun, Jul 22, 2018 at 3:55 AM Steven D'Aprano <st...@pearwood.info> wrote:
> Indeed we do. But we also say: > > - we say "+" instead of "add" > - we say "//" instead of "floor division" > - we say "**" instead of "exponentiation" > - we say "&" instead of "bitwise AND" > - we say "f( ... )" instead of "call f with arguments ..." [...] I don't think that "+" is harder to read than "standard_mathematics_operators_numeric_addition" Please let's drop the argument that + - * / = and ? are the same. They clearly are not. Anybody learned those symbols at elementary schools, all programming languages have them and using math in programming is common enough to justify a symbol over a keyword. "a + b" is literally just an addition and nothing else. The "?" variants have multiple meanings, spellings and implications: - "a ?? b" means "b is chosen over a if a is None" - "a ??= b" means "a is set to b if a is None" - "a?.b" means "a.b is executed but only if a is not None" - "a?[2] ?? 3" means "index 2 of list a is picked up if a is not None, else use 3" "a?.b"and "a?[2]" in particular go way beyond the mere "it's not pretty" argument which, I concur, can be subjective, as you don't know where evaluation stops. Even "a ??= b" goes beyond that as it introduces yet another assignment operator (the third, as we now have = and :=). So again, I don't think it's fair to dismiss the whole thing as "it's just another symbol" or "it's like a + b". As for bitwise operators: they are kinda obscure and low-levelish and when I bump into them I still have to pause to reason what's going on. The difference with ? though is that you basically have no other way to do the same thing. Also they are much more rare and also are present in many other languages since... forever. -- Giampaolo - http://grodola.blogspot.com
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/