[H-GEN] c# and .NET on Debian

Russell Stuart russell at stuart.id.au
Tue Feb 3 18:30:52 EST 2004


I am using C#, and .net on Windows CE.  I am writing a comms stack in C#
- one side will run on CE, the other on Linux.  I had resigned myself to
re-writing the stack in C/C++ on Linux.

Then,  at LCA 2004 I was lucky enough choose the very table in the
cafeteria that the portable .NET group were dining at.  After I had
figured out who I was sitting beside I asked a million questions, of
course.  Bearing in mind that I haven't done anything with C# on Linux
as yet, these are the answers to those questions:

  1.  C# runs under Linux, and indeed as the name "portable .NET"
      implies, the same code runs under a whole pile of other operating
      system as well (in fact all of them bar Microsoft as far as I
      can tell).

  2.  Portable .NET has a IL interpreter, but no compiler, JIT or
      otherwise.

  3.  Mono is another .NET implementation under Linux.  It uses its own
      portable .NET compiler and IL JIT compiler.  The current Mono JIT
      compiler runs at roughly the same speed at the Portable .NET
      interpreter, but Mono is re-writing their JIT engine.

  4.  Most of the important bits of the C# library have been re-written.
      This includes System.Data (ADO.NET), System.Windows (GUI),
      System.Net (TCP/IP) and System.IO.  So most of the libraries you
      would expect if you have developed using Visual Studio .NET are
      available.  Most of this work has been done by Mono, but the same
      code works on Portable .NET, as you would expect.

  5.  The ADO.NET support includes drivers for MySql, Postgres, Firebird
      and others.  So, it appears to be fairly complete.

  6.  The Mono and Portable .NET implementation of Windows.Forms
      differs.  Mono said "it too hard to implement all this Windows
      specific stuff", and hence based their implementation on Wine.
      Portable .NET said "your full of it", and have implemented the
      same stuff using xlib.

  7.  As for how well it all works - the Portable .NET guys downloaded
      an .NET .exe from Microsoft and ran it under Linux.  It was a
      Reversi type game.  And it did indeed run under Linux.  The
      only problem I saw is that they have not implemented double
      buffering in the graphics, so the screen flickered.  I suspect
      this would only be a issue for games.

      The one thing that struck me about the demo is that it was FAST. 
      As someone who has used Java apps under Linux, I expected it to be
      like treacle.  Instead, it appeared to have the same speed as a
      native X app.  I was blown away.  I don't expect Mono would be
      anywhere as good because of their use of Wine.

  8.  The documentation for Portable .NET sucks badly.  Getting all the
      pieces to put together the working demo above would be hard.  You
      need bits from Mono, bits from Portable .NET, all put in their
      right places with the correct environment variables.  But I could
      not find any doco saying what bit you need or where you get them
      from.  Remembering that Mono and Portable .NET supply overlapping
      parts and you need to pick exactly the right ones, this makes
      things very hard.

  9.  On the up side the leader of the Portable .NET effort, Rhys
      Weatherley, lives right here in Brisbane.  They seem to be a
      helpful and approachable mob, unlike some open source developers,
      so you should find it easy to get help online (lists, IRC).

 10.  Portable .NET has moved to be under the GNU umbrella.  GNU seems
      to have lumped together with a number of vaguely related projects
      and call the entire lot DotGNU.  You will find a lot of
      information on the DotGNU web site.

URLS:
  http://www.southern-storm.com.au/
  http://www.gnu.org/projects/dotgnu/
  http://www.go-mono.com/

On Tue, 2004-02-03 at 11:44, Anthony Irwin wrote:
> [ Humbug *General* list - semi-serious discussions about Humbug and     ]
> [ Unix-related topics. Posts from non-subscribed addresses will vanish. ]
> 
> Hi Guys,
> 
> The company I work for is considering moving to c# and .NET for their
> windows development.
> 
> I would like to experiment with c# and .net at home but I only have
> Debian machines at home.
> 
> I am wondering if anyone knows what the state of c# and .net and whether it
> would be fesable to learn the language using Linux.
> 
> As far as I can tell there are three major projects:
> 
> - mono
> - dotgnu
> - .portable
> 
> does anyone know which is the most mature or point me to an article or
> review.
> 
> Also is there any visual front ends like visual c#.
> 
> Any input would be great.
> 
> 
> Kind Regards,
> Anthony Irwin
> 
> 
> _______________________________________________
> General mailing list
> General at lists.humbug.org.au
> http://lists.humbug.org.au/cgi-bin/mailman/listinfo/general





More information about the General mailing list