the Python programming language also has multiple inheritance (of implementation), and frankly, i think it's barely worth its effort from what i can see. it brings with it some fairly hairy issues of precedence resolution that's taken several language revisions and several years to get more or less resolved. (see, for example, version
2.2.1, version
2.3.1, or -- for purely archaeological interest -- version
1.5.2.)
multiple inheritance (of either major kind) enables the use of
Mix-ins, which is a major win. interface inheritance forces you to rewrite the code for the mixed-in methods in each class you use them in, which might create a good deal of duplication; but multiple implementation inheritance gives you the "diamond rule" headache. any problem that needs a bunch of Common Lisp/Dylan aficionados to write a scholarly paper about its solution (
this paper) is not a problem you want to tackle lightly.