Remove multiple inheritance in Python 3000

Carl Banks pavlovevidence at gmail.com
Tue Apr 22 10:22:12 EDT 2008


On Apr 22, 7:30 am, "Diez B. Roggisch" <de... at nospam.web.de> wrote:
> GD schrieb:
>
> > Please remove ability to multiple inheritance in Python 3000.
>
> > Multiple inheritance is bad for design, rarely used and contains many
> > problems for usual users.
>
> > Every program can be designed only with single inheritance.
>
> Yes, sure. And that's why Java grew interfaces & it's class-diagrams are
> hilariously complex. Because using single inheritance is so much better.


I have a couple issues with this, though I wholeheartedly agree with
the sentiment:

1. Java didn't grow interfaces, they were there from the start.

2. Java interfaces solve a different problem than MI (used properly)
does: interfaces are there to make types polymorphic, whereas
inheritance's main use is to share behavior.


Too many people believe polymorphism is the only noble goal of OO.  If
that were true, there'd be no reason for multiple inheritance, or
single inheritance for that matter.  But in my opinion, minimizing
code redundancy by allowing classes to share behaviors is far more
useful and important.  That's why I wholeheartedly favor MI: it allows
classes to share behavior with restraints.

Java (for example) allows a class to share behavior with only one
other class, and that *severely* limits the opportunities to minimize
redundancy.


Carl Banks



More information about the Python-list mailing list