title: Should C# have multiple inheritance?
body: <p>I have come across numerous arguments against the inclusion of multiple inheritance in C#, some of which include (philosophical arguments aside):</p>
  
  <ul>
  <li>Multiple inheritance is too complicated and often ambiguous</li>
  <li>It is unnecessary because interfaces provide something similar</li>
  <li>Composition is a good substitute where interfaces are inappropriate</li>
  </ul>
  
  <p>I come from a C++ background and miss the power and elegance of multiple inheritance. Although it is not suited to all software designs there are situations where it is difficult to deny it's utility over interfaces, composition and similar OO techniques.</p>
  
  <p>Is the exclusion of multiple inheritance saying that developers are not smart enough to use them wisely and are incapable of addressing the complexities when they arise?</p>
  
  <p>I personally would welcome the introduction of multiple inheritance into C# (perhaps C##).</p>
  
  <hr>
  
  <p><strong>Addendum</strong>: I would be interested to know from the responses who comes from a single (or procedural background) versus a multiple inheritance background. I have often found that developers who have no experience with multiple inheritance will often default to the multiple-inheritance-is-unnecessary argument simply because they do not have any experience with the paradigm.</p>