On Fri, Sep 15, 2017 at 08:03:32PM +0200, Jason H wrote:
But really, I've learned a few things along the way. Though nothing to convince me that I'm wrong or it's a bad idea. It's just not liked by the greybeards, which I can appreciate. "here's some new punk kid, get off my lawn!" type of mentality. Dunning-Kruger, etc.
"The Dunning–Kruger effect is a cognitive bias wherein persons of low ability suffer from illusory superiority, mistakenly assessing their cognitive ability as greater than it is. The cognitive bias of illusory superiority derives from the metacognitive inability of low-ability persons to recognize their own ineptitude." -- Wikipedia. If you're attempting to win us over to your side, stating that we're too stupid to realise how dumb we are is NOT the right way to do so. But since you've just taken the gloves off, and flung them right in our faces, perhaps you ought to take a long hard look in the mirror. You've been told that at least some of the changes you're asking for are off the table because they will break working code. And that is still not enough to convince you that they are a bad idea? Breaking thousands of Python programs just so that people coming from Javascript have only 99 differences to learn instead of 100 is not an acceptable tradeoff. Adding bloat and redundant aliases to methods, especially using inappropriate names like "join" for append, increases the cognitive burden on ALL Python programmers. It won't even decrease the amount of differences Javascript coders have to learn, because they will still come across list.append in existing code. So these aliases will be nothing but lose-lose for everyone: - those who have to maintain and document them - those who have to learn them - those who have to answer the question "what's the difference between list.append and list.join, they seem to do the same thing" - those who have to read them in others' code - and those who have to decide each time whether to spell it alist.join or alist.append. I'm sorry that Python's OOP design is not pure enough for your taste, but we like it the way it is, and the popularity of the language demonstrates that so do millions of others. We're not going to ruin what makes Python great by trying to be poor clones of Java, C++ or Javascript, even if it decreases the learning time for people coming from Java, C++ or Javascript by one or two minutes. We're going to continue to prefer a mixed interface where functions are used for some operations and methods for others, and if that upsets you then you should read this: http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html -- Steve