[sword-devel] Porting to MS .NET framework

David's Mailing-list and Spam Receiver sword-devel@crosswire.org
Thu, 5 Jun 2003 19:07:36 -0400


On Thursday 05 June 2003 04:02 pm, John Baima wrote:
> At 01:38 PM 6/5/2003 -0400, David wrote:
> No, David, I did not miss what you said. In fact, I quoted it and you
> deleted it. You said, "Except C# isn't as portable as C++. The C# linux
> compilers are still very very
> much in beta and aren't close to fully functional last I checked. And I
> don't know of a mac C# compiler at all." and that is just not so. If you
> had said .NET, I would have agreed with you although it is maturing fast.

Ah

> >Furthermore, unless Microsoft itself ports .NET
> >to other platforms there will very nearly always exist the issues of what
> >happens when MS starts enforcing it's patents.
>
> This is covered in the Mono faq.

I might look into it but, there are other problems with .NET on other 
platforms that I'll describe below which make me not enthusastic about 
learning it.

> >Also to be portable you have
> >to run on more than just Linux, Windows, and Mac OS X
>
> Right, I agree with that.

> Well, MS has fully committed to .NET. To say anything else is silly.

Unless they renamed .NET Windows longhorn has it's own api junk that's not 
.NET and not win32.

> That's all well and good, but the .NET assemblies are vastly superior to
> the old DLL or COM paradigm and .NET allows you to mix and match objects
> written in different languages and it provides binary compatibility to any
> .NET supported OS. And that list of OS's will grow over the next year. I
> understand that you are not a fan of MS. I left MS development tools in
> 1984 and I've not looked back. Until now. .NET is a cool idea and it will
> be successful.

And both DLL and COM are non-existant on other platforms. And here's the other 
major problem you've got. And yes using multiple langugages is neat, but will 
continue to be a "toy" technology until it's well suported. As for binary 
compatiblity with any .NET supported OS, well legacy OS;s won't have .NET 
support, I do not want to have to upgrade my OS to develop with and use the 
sword project, not do I want to install large compatibility layers when C and 
C++ do the job quite nicely.

Futhermore all *nix platforms come with a C compiler. And most come with one 
that do C++ too. C# is probably not going to become a standard compiler 
across systems. Why? because C# was not created with portability in mind. C 
was created to be a portable assembly basically. That said C code will run on 
any architecture and operating system that has a compiler with only minimal 
changes to the core. Now why is this important you ask? Because the sword 
project is mainly a library, there is no Sword Project executable on other 
platforms besides diathke. And I do not believe that many users will install 
mono or whatever their os's implementation of .NET is when they already have 
tools that will do the job without large installs or special development 
environments. One of the things you will find within the opensource community 
is a large resistance to being told what tools to use.

-- 
--David's Mailing List and Spam Receiver
   Keeping me relatively spam free since 2002