[Mono-list] C++ compatible CLR?
Miguel de Icaza
miguel@ximian.com
16 Dec 2002 15:39:52 -0500
Hello,
> Yesterday I have read an ca 1 years old article about .net again.
>
> In this magazine there stood advantages and disadvantages of C# and .net
> (and things, what could be better) .
>
> Some of the things, which the magazine have listed, what could be better is,
> that the CIL is not compatible to C++.
> Not all C++-programs can be compiled to the CIL. The reason is, that C++
> supports "Mehrfachvererbung" for example - the CIL dosen't.
> ("Mehrfachvererbung" is a german word. And I don't know how it is called in
> english. Is it called "multi-heredity" ?)
>
> So, is it possible, that Mono integrate this features in its CIL, which
> Microsoft haven't integrated?
Multiple-inheritance can be emulated on the CIL (C++ does this) and
Eiffel.NET found an interesting trick to implement it, so there is no
need to change the CIL.
Now, even in that case, I am more interested in remaining compatible to
the Microsoft CIL than to do our own extensions.
But I am not shutting down your idea. In fact, if someone is motivated
enough, they can use Mono as a research platform to try out the idea, do
a proof-of-concept implementation, and then they could propose this to
the ECMA standards body.
I do not know enough about multiple-inheritance to have a strong
opinion, but I know people who do have a pretty strong opinion against
it, so you might want to address those issues as well.
> But for completeness, here the "disadvantages" of C#, which there was
> listed:
> - it is not possible to get more parameters by one function back
You can use `out' parameters.
> - no support for definitions of pre- and postconditions and invariants.
Brian posted a link yesterday about pre-conditions using attributes
which was interesting. It is not natively supported as Eiffel does.
Miguel