A gentle critque..

Ben Cooley Ben_member at pathlink.com
Mon May 15 07:30:36 PDT 2006


>> - Inability to access C/C include files...  Importance:   SHOW-STOPPER
>> --------------------------------------------
>> 
>> C can do this, D can not.
>> 
>> The size, scale, and prevalence of C and C libraries and code make writing
>> wrappers for all of these libraries impractical.  That D can not just easily
>> include C and C headers "as is" gives it a serious and I would suggest fatal
>> disadvantage vs. C.
>> 
>> C out of the box could include C header files, meaning that even today I have
>> access to the largest possible body of third party libraries and code.  Binary
>> compatibility with C only is just not good enough.
>
>True.  This has been discussed before, but has been rejected
>intentionally.  We don't want every D compiler to end up being a C
>compiler, too.

Why not.  C and C++ compilers seem to be particularly common.  Digital Mars
happens to have one, so does GCC, and it's even independently maintained.

It doesn't matter.  All proponents of marginal languages make similar arguments
about the goalfor some sort of purity.  It seems like this is the common reason
why marginal languages are created in the first place, but it's also the primary
reason why they fail to become mainstream languages.

Think about this.. if C++ had followed the same path, it would also have failed.
The utility of the "It just works" paradigm in C to C++ integration and
conversion made the success of C++ possible.

I would generally say that any successful competitor to C++ and C would:

1. Need to directly parse C and C++ headers.
2. Need to integrate with C++ (ABI).
3. Need to be able to be used in a mixed project (C/C++/D) and arbitrarily mix
and match C, C++, and D objects.

My motivation for posting this critique is not to criticize D.. which I happen
to really like, but to vent my frustration that as it stands I will never
actually be able to use it.






More information about the Digitalmars-d mailing list