Python’s goal is regularity and readability, not succinctness.
There’s also been a bit of a flame-war in the Scala community over the use of symbolic versus verbal notation, as in
/: instead of
foldLeft. Unfortunately that debate has seen many uses of the “
I” word (intuition). The Wictionary definition begins “Immediate cognition without the use of conscious or rational processes.” I become skeptical as soon as that word enters a conversation about programming, because “intuitive” often strikes me as a synonym for “familiar”. Too often some variation of the phrase “that’s non-intuitive” seems to be a judgmental variant of “I’ve never seen that before”.
This also seems to connect with the principle of parsimony (often conflated with Zipf’s Law, but not always): frequency and cost of expression have an inverse relationship. Or, in clear text, “use short words oftenest”. Is it any surprise that when a person moves from one domain of discourse to another, that the shift in subject matter implies that there will be a shift in what things must be expressible economically? To apply the question to programming, should we assume that all programming language need to talk about the same concepts? Should things that are easy (economical and/or symbolic) to express in one language need to be similarly easy in all other languages?
Should experience with one language really dominate our expectations about notation in another language if the two languages really address different application domains or conceptual models of programming. I don’t think so.