dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DotGNU]Gnome to be based on .NET


From: Rhys Weatherley
Subject: Re: [DotGNU]Gnome to be based on .NET
Date: Sun, 03 Feb 2002 17:34:08 +1000

Bill Lance wrote:

> --- Rhys Weatherley <address@hidden> wrote:
> >
> > The DotGNU Steering Committee has recently made a
> > decision regarding the C# class libraries.  We will
> > have our
> > own low-level core libraries in pnetlib, but will
> > use the
> > upper-level libraries from Mono rather than waste
> > time
> > replicating them.
>
> That's most interesting, Rhys.  Could you please
> explain these two levels, and what MONO is relying on
> for the lower level now?

The lowest levels of the C# class library provide the
really basic things: strings, integers, files, streams, etc.
Everything else (Web support, XML, GUI, etc) builds
on top of the facilities provided by this low level.

But here's where things get messy: the low-level parts
of the library depend upon native methods in the runtime
engine to provide certain functionality.  Unlike Java, there
is no standard for which methods must be native and
which methods must be Java.

So every run time engine has their own way of defining
the native method layer: Microsoft has theirs, Mono has
theirs, and I have mine.

My native method interface is unique in that I've actually
bothered to document the whole thing in "doc/native.html",
and I've been very careful not to introduce too many
system dependencies into the definition. Anyone else using
pnetlib's low level libraries can run down the list of methods
in that document, implement them all, and be done.

Mono's low-level class libraries will not work with pnet
because they use a completely different set of native
method calls, which are in many ways hard-wired to the
specifics of their engine.

The best approach moving forward is to build our own
version of the low-level libraries, with a clean, well-defined,
and fully-documented native method interface.  And then
use the Mono upper-level libraries on top of that.  If any
more of their libraries are hard-wired to their engine, we
will fix them as we go.

Cheers,

Rhys.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]