[Mono-list] some questions?

Miguel de Icaza miguel@ximian.com
30 Jul 2001 21:03:04 -0400

> 1. Suppose I were to write a compiler for java that
> generates CIL bytecodes. Would I be able to use the
> Mono libraries? The libraries are written in csharp
> which would seem to preclude there use in java... but
> isn't that the whole idea behind a common language
> runtime? What magic is this?

The class libraries would be compiled into CIL byte codes as well.  So
your code would "reference" those classes, and the runtime will make
sure that you can call them.

> 2. I take it that the Mono libraries are from the ECMA
> specs. Are these complete? I mean did Microsoft
> _really_ submit all of their .NET environment
> libraries to ECMA? Windows.Forms and ADO.NET and
> ASP.NET and everything?

Not everything was submitted.

> 3. If the ECMA libraries are not complete... Is Mono
> attempting to produce an environment and libraries for
> Microsoft's version of .NET or just what is published
> under the ECMA?

I think we want to grow beyond what ECMA and Microsoft has done.  They
both contain large API holes, and there is much room for improving.

Any new classes that are not part of .NET or ECMA should be designed
to be reusable on anyone's CLI implementation.  So that Windows
developers can also use any new classes that we come up with.

> 4. If Mono is trying to produce an environment
> compatible to Microsoft's version of .NET not just the
> ECMA specs then isn't that giving a lot of power to
> Microsoft? I mean not only could Microsoft choose to
> break compatibility, but they would have full control
> over the data schemes and the libraries as well...
> Doesn't anyone see this as a problem?

Being fully compatible with .NET is a secondary concern.  The major
reason for this is to provide a better development platform for
developers on Unix.  

That being said, it should be simple to stay .NET compatible.  And if
we can not because of some undocumented feature, I am sure we will

> 7. I have been monitoring the dotGNU list also and
> have been surprised to see quite a bit of malice
> towards Mono. Some have even suggested that Mono not
> be used as the runtime environment. This seems to be a
> tactical error. I was under the impression that dotGNU
> and Mono were to be complements of each other. Mono
> supplying the runtime environment and tools and dotGNU
> the authentication and web services. Can anyone
> clarify the relationship between dotGNU and Mono?

I was under the same impression, but it seems like dotGNU is going
through a design phase, and they believe that an authentication system
requires a new byte code system and a new programming language to be

I have not followed the effort since the early days of its inception
though, so I might not be very well informed.