[Python-Dev] Problems with the new super()

Gustavo Carneiro gjcarneiro at gmail.com
Thu May 1 22:00:16 CEST 2008


2008/5/1 Facundo Batista <facundobatista at gmail.com>:

> 2008/5/1, Georg Brandl <g.brandl at gmx.net>:
>
> >   There may be more implications and surprising behavior surrounding
> this.
> >
> >  I know that the implementation is a compromise, but I'd rather see a
> > super()
> >  whose full semantics can be explained to programmers without using to
> >  "cell variable", "f_localsplus" and "symtable".
>
> In consideration of what's been said about super() in the past, and
> what is handled here regarding its Py3 implementation, I want to make
> a step  back, and ask:
>
> Has super() proved more useful than harmful? Which is the value for
> Py3 to keep it?


Since Python supports multiple inheritance, you can't get away from
something like super.  Alternatives for methods chaining to parent classes
are 1. implicit/automatic (like C++, I think), 2. explicit/semi-automatic
(python's super, on one form or another, 3. explicit manual (programmer has
to manually keep track of everything).  Of all these alternatives I prefer
Python's super (in one form or another).  1 is too "magic", and 3 is too
error prone and cumbersome.

A better question would be, is multiple inheritance good or bad for
programs? :-)

I think many people's answer to the above would be, generally bad, but there
are exceptions where it helps and can be justified.


>
>
> Regards,
>
> --
> .    Facundo
>
> Blog: http://www.taniquetil.com.ar/plog/
> PyAr: http://www.python.org/ar/
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> http://mail.python.org/mailman/options/python-dev/gjcarneiro%40gmail.com
>



-- 
Gustavo J. A. M. Carneiro
INESC Porto, Telecommunications and Multimedia Unit
"The universe is always one step beyond logic." -- Frank Herbert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20080501/7dffab36/attachment-0001.htm>


More information about the Python-Dev mailing list