D vs. C#
Don Clugston
dac at nospam.com.au
Tue Oct 23 23:22:16 PDT 2007
Chris Miller wrote:
> On Tue, 23 Oct 2007 07:28:42 -0400, Jascha Wetzel <firstname at mainia.de>
> wrote:
>
>> Vladimir Panteleev wrote:
>>> Except, they're not really as easy to use.
>>> With .NET, you can derive from a class in a compiled assembly
>>> without having access to the source. You just add the assembly in the
>>> project's dependencies and import the namespace with "using". In C,
>>> you must use the included .h files (and .h files are a pain to
>>> maintain anyway since you must maintain the declaration and
>>> implementation separately, but that's not news to you). You must
>>> still use .lib and .di files with D and such - although they can be
>>> automated in the build process, it's still a hassle. Besides that,
>>> statically linking in the runtime seems to be a too common practice,
>>> as "DLL hell" has been a discouragement for dynamically-linked
>>> libraries in the past (side-by-side assemblies is supposed to remedy
>>> that though). I guess the fault is not in the DLLs themselves, it's
>>> how people and Microsoft used them...
>>
>> That is correct, but the obvious solution to that problem is to
>> support the OO paradigm in dynamic linking. That is, we don't need a
>> VM, we need DDL.
>> Had C++ standardized it's ABI, this problem would probably not exist
>> today.
>
> http://www.codesourcery.com/cxx-abi/
> I don't know the whole deal, but I guess some decided not to go by this;
> I don't even know if DMC does or not.
That was added after the fact.
Unfortunately, the ABIs for Linux 64 and Windows 64 are diverging. It's
ridiculous. I don't know if D will be able to support a common ABI across both
platforms.
More information about the Digitalmars-d
mailing list