Slashdot Mirror


Portable.NET Now 100% Free Software

rhysweatherley writes "Finally after months of hard work and bucket loads of caffeine, the DotGNU community has finally got Portable.NET to the point of building our C# libraries on many Free Software platforms with our own C# compiler. This is a big deal! Portable.NET is now 100% pure Free Software, with no dependencies on third party C# tools. The compiler, which is written in C, bootstraps off gcc, so there are no icky 'how to compile the compiler' problems. And it's fast! The DotGNU team consists of lots of contributors, many of whom are coincidentially named 'Rhys Weatherley,' but this wouldn't have been possible without the support of the DotGNU community, especially the Weekend Warriors. .NET is not the only thing we are doing. We're playing around with JVM and Parrot (of perl6 fame) backends to the compiler. And we have a C compiler front-end that generates pure bytecode apps that can run on any decent CIL implementation (Portable.NET, Mono, etc). We are about 95% of the way towards our first milestone of an ECMA-compatible C# implementation. There are lots of things still to be done in the low-level C# libraries, runtime engine, and the compiler. So, if you have some time on your hands, and like messing with languages and stuff, like yours truly ... have look and maybe have some fun!"

8 of 422 comments (clear)

  1. Re:DotGnu and Mono by manyoso · · Score: 5, Informative

    Mono's compiler is written in C#. Mono has a fast JIT. Mono's libraries include preliminary versions of Microsoft.NET libraries (see non-ECMA) like System.Windows.Forms and support for ASP.NET and ADO.NET. Mono is a joint project of Ximian and the larger community. Mono's commercial nature also limits community participation.

    DotGNU is a GNU project and has a CLR/.NET environment sub-project called Portable.NET. Some of the key differences with Portable.NET and Mono are:

    PNet has a C# compiler written in C that is very fast, but not as complete. As a consequence it does not suffer from bootstrapping problems.

    PNet's compiler architecture is meant to provide great support for new CIL language compilers. Currently, cscc (that's the IL compiler suite) supports compiling C and C# to CIL with other languages on the way. It can also compile a subset of C# to the JVM.

    PNet only has an interpreter called ilrun (no JIT) at this time. PNet's libraries are not as far along, but one of the goals is complete ECMA compatibility while Mono's goal is to track Microsoft.NET as
    closely as possible. PNet is also talking with the Perl/Parrot folks about supporting C# on the next generation Perl runtime.

  2. Re:objective analysis by manyoso · · Score: 5, Informative

    You should have a look at #Develop. I really like it and it is Free Software too :-)

    http://www.icsharpcode.net/OpenSource/SD/default .a sp

  3. Re:Someone care to explain... by cant_get_a_good_nick · · Score: 4, Informative

    It essentially means they wrote the compiler in C, and didn't write the compiler in C#, just to paint themselves in the corner and have a chicken and egg problem on how to compile a compiler written in C# if you don't have a C# compiler. I thought this was kind of odd myself, seems like a pat on the back for not doing something stupid, unless someone could point me to some need to compile a compiler in it's native language.

    gcc itself has a bootstrap problem. The gcc code itself is actually pretty gcc specific, non-standard C code that can't be directly compiled correctly by other compilers. So there's an extra step, the gcc build routne adds a bootstrap compiler - youdon't compile the real compiler directly, you compile a small 'gcc-ish' compiler that though not complete, has a sufficent enough subset of gcc-isms to compile the real compiler.

  4. Freshmeatt posting out ! by Gopal.V · · Score: 4, Informative
    The freshmeat links are out here it is Freshmeat Portable.Net

    Get the release and report bugs if you can find !

    PS: assigning them to me does not count as fun
  5. Re:C# is a nice language by Jugalator · · Score: 4, Informative

    Very robust and well thought out language. Yes, Yes, I know blah blah blah M$ this and M$ that. But ya know what? I could give a flying crap about everyone's predisposition against Microsoft.

    I'm not sure Microsoft should be thanked for the greatness of the C# language on it's own, which I'm sure most of us agree is the best thing of .NET -- not it's Windows-specific libraries.

    Thank Anders Hejlsberg, chief architect of the C# language, instead.

    While I'm on the topic...

    Anders Hejlsberg interviewed about C# #1
    Anders Hejlsberg interviewed about C# #2

    Pretty interesting, where he discuss the design goals of C#, how satisfied he is with what C# became, etc.

    --
    Beware: In C++, your friends can see your privates!
  6. Re:As a new c# programmer... by tenchiken · · Score: 5, Informative

    There are a lot of statements here that need correction.
    First of all, cOM is on it's way out. It is being replaced by the new remoting and web services architecture. The new component arch works much better and is far easier to understand then the iUnknown interface in COM. COM+ services (most notable, transactions) are still being supported, and I have no doubt that Mono will do a great job implementing these.


    Sadly, *NIX has never really implimented anything like COM.

    Not true. In fact, there is a COM implemented for UNIX called XPCOM. It's the foundation of Mozilla. In addition, COM itself is a copy of CORBA/IDL (the tools for Corba/IDL are fairly poor tho). Gnome uses CORBA, and KDE also uses a distributed object protocol. In additional, almost every language supports SOAP (including .NET) and Perl's .NET support is awesome.

    So, really: what is the need for C# on *NIX? None of my c# code that I am writing will port, because it is heavily dependent on the COM/ActiveX objects to get the real work done. Unless the .GNU project aims to bring ActiveX functionality over to *NIX, and port all of the cool ActiveX objects like ADO (Database), DOM (XML), System.DirectoryServices (LDAP), FSO (Files), etc.

    It's a really good thing that .NET rewreites all of these, and MONO is writing all of them. ADO is replacd with the much more usefull ADO.net, DOM is boosted with XSL, XSD, X** (many other XML standards), System.Directory is also bein gimplemented. FSO is replaced by the much cleaner streaming interface. Mono is implementing all of these

  7. Re:Never thought this day would come by nzhavok · · Score: 5, Informative

    The C programming language does everything I need it to do.

    I too once was a C zealot. Then I had a job at Compaq which required me to develop in TCL which I hated at first, but eventually it opened my eyes a lot.

    These days I do 90% of my work in python, it's a bloody great language. I remember when I first started hacking C about a decade ago, I'd pump out these little programs quite quickly but anything large took a lot of time, usually debugging. I never got tierd of C but I suppose when I started programming professionally it lost a lot of its appeal.

    Anyway, I diverge.

    Python lets me create complex systems very fast. The first time I used python I worte a client/server chat program, it took about half a day to do (including the basic python tutorial). I find I don't have the time to fuck around with C anymore, I don't find the joy in hunting down bugs either (at least I hunt less in python).

    I still use C on occasion though. But only then I can't do it fast enough in python, the C code is still usually ran from python in the end.

    --

    He who defends everything, defends nothing. -- Fredrick The Great
  8. Re:.NET for Linux by mrbnsn · · Score: 4, Informative
    The reference you are looking for is Colusa Software, a spinoff from research at U.C. Berkeley.