What is the semantics meaning of 'object'?

Roy Smith roy at panix.com
Mon Jun 24 08:41:52 EDT 2013


In article <51c7fe14$0$29973$c3e8da3$5496439d at news.astraweb.com>,
 Steven D'Aprano <steve+comp.lang.python at 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.



More information about the Python-list mailing list