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