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

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", "flocalsplus" 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