[Mono-list] RE: [Mono-announce-list] Mono 0.22 has been released!

Jonathan Pryor jonpryor@vt.edu
07 Mar 2003 08:54:36 -0500

In general, what *can* be done in C# *should* be done in C#.

That summarizes to class libraries in C#, JIT/interpreter and related
code in C.

There are exceptions.  Some C# code has been turned into internal calls
to remove those annoying "The library Foo.dll could not be found"
messages.  Other class library sections couldn't easily be done in C#,
such as many IO functions, so C internal calls exist which the C#
classes use for their implementation.  I would imagine that remoting is
mostly written in C, but I have no idea.

Development speed has also been used as an exception.  At one point, we
wanted our XML library to be 100% managed code (IIRC), but expediency
led us to wrap libxslt and libxml2 for XSLT functionality.  This may
change in the future.

So how do you tell the difference?  Try to write it in C#, and if you
can't, fall back to C. :-)

 - Jon

On Thu, 2003-03-06 at 14:21, Dan Maltes wrote:
> I'm curious, how can we tell what parts of the remaining mono framework
> classes are/can be written in C# and what parts have to be done with
> gcc/glibc?  I've no experience with gcc but would like to contribute to
> mono framework classes that can be written in C#.
> -Dan
> -----Original Message-----
> From: mono-announce-list-admin@lists.ximian.com
> [mailto:mono-announce-list-admin@lists.ximian.com] On Behalf Of Duncan
> Mak
> Sent: Thursday, March 06, 2003 12:33 AM
> To: mono-list mailing list; mono-announce-list@lists.ximian.com
> Subject: [Mono-announce-list] Mono 0.22 has been released!
> Hello everyone!
>       We are releasing a new version of Mono, Mono 0.22. A new release
> is made today because of the few recent bug-fixes that were committed
> to CVS.
>      Source code and binaries for this release can be found on the
>      web page,
> 	   http://www.go-mono.com/download.html
>      The URLs for the sources are:
>      * MCS package (the Class Libraries, C# and VB.NET compiler
>        and other assorted tools written in Managed code):
> 	    http://www.go-mono.com/archive/mcs-0.22.tar.gz
>      * Mono package (the Runtime engine and JIT compiler):
> 	    http://www.go-mono.com/archive/mono-0.22.tar.gz
>      RPM packages for this release can be downloaded from the web-page
> as well as from the 'Mono' channel on Red Carpet. Debian packages will
> appear on the download page later, as well as an installer for our
> Windows users.
>      Since last Thursday, 320 commits have been made to our CVS
> repository. These following hackers contributed to Mono since version
> 0.21:
>      Aleksey Demakov, Alexandre Pigolkine, Atsushi Enomoto, Elan
>      Feingeld, Dick Porter, Dietmar Maurer, Duncan Mak, Gonzalo
>      Paniagua, Ian MacLean, Jackson Harper, Jean-Marc Andre, Jerome
>      Laban, Lluis Sanchez, Martin Baulig, Miguel de Icaza, Nick
>      Drochak, Paolo Molaro, Pedro Martinez, Per Ameng, Peter Williams,
>      Rafael Teixeira, Reggie Burnett, Sebastien Pouliot, Tim Coleman
>      and Zoltan Varga.
> Highlights:
>     * The "MemoryStream" bug.
>        This bug affected a lot of classes, and made them crashy,
>        database code, XML parsing and a few others were
>        crashing. Thanks to Gonzalo for fixing this bug.
>     * System.Data:
> 	More bug fixes from Aleksey and Tim.
>     * Reflection:
>         Zoltan continues to provide fixes to our Reflection.Emit code
>         to host IKVM. 
>     * Remoting:
> 	Lluis added support for activation using activation
> 	attributes.
>     * PEToolkit:
> 	Jackson imported the PEAPI package from the Queensland
> 	University of Technology in Australia. This will replace the
> 	existing Mono.PEToolkit for our ILasm back-end.
>     * Windows Forms:
> 	More fixes from Reggie and Alexandre.
>     * System.Web.Mail:
> 	Per has been working on this namespace. He announces recently
> 	that all major parts of System.Web.Mail has now been
> implemented.
>     * System.Web.Mobile:
>         Gaurav continues to make progress here.
>     * Misc:
>         Ian MacLean contributed a /compile flag to monoresgen and
>         assorted bug-fixes and improvements from the rest of the team.
>     My name is Duncan Mak, and I just made my first Mono release.