In article <51c7fe14$0$29973$c3e8da3$54964...@news.astraweb.com>, Steven D'Aprano <steve+comp.lang.pyt...@pearwood.info> wrote:
> Mixins are such a limited version of MI that it's often not even counted > as MI, and even when it is, being familiar with mixins is hardly > sufficient to count yourself as familiar with MI. OK, fair enough. > >> - then you might assume that super means "return the superclass of this > >> class" (or possibly instance). > > > > That's exactly what I assumed. And, since you correctly surmised that > > that's what I would assume, I would suggest that it was pretty obvious > > to you too. Of course, given that assumption, it was not at all clear > > what it would do in a class with multiple ancestors. > > That's exactly why it *isn't* obvious. Too many assumptions need to be > made, and questions left unanswered, for the conclusion to be obvious. I think we're using different definitions of "obvious". I'm using it to mean, "What you would conclude from a first look at a problem". The fact that it is proven to be wrong upon closer examination doesn't change the fact that it's obvious. > That's like saying that it's "obvious" that the sun goes around the > earth, because that's what it looks like. What would it look like if > it was the other way around? Well, it is obvious. It's just wrong, based on our current understanding. Humans have been theorizing about how the heavenly bodies work for thousands of years. It's only in the past 400 that they're figured out how the solar system works. So, to bring this back to Python, the goal of designing easy-to-understand things is that the obvious explanation also happens to be the correct one. Giving super() the name that it has failed at this. -- http://mail.python.org/mailman/listinfo/python-list