A gentle critque..

Lars Ivar Igesund larsivar at igesund.net
Mon May 15 08:17:04 PDT 2006


Ben Cooley wrote:

> Hi Lars,
> 
> I'm rooting around for a more practical language that can be integrated
> into a
> very large mixed C/C++ codebase.  D just can't do what I need it to do,
> and it's really too bad because I have followed D and really actually do
> like it.
> 
> The code base we work with has several problems, one being the inclusion
> of more than 20 external C and C plus plus third party libraries, as well
> as utilization
> of the linux and windows api's.  And more importantly occasional
> instability due to the use of C unsafe programming practices.
> 
> I'm posting this because I suspect that the quiet majority of C plus plus
> programmers out there agree with me.  We simply aren't interested in
> participating in a crusade to make D popular.  We just want something that
> can do what we really need, and there are an awful lot of C and C plus
> plus projects out there that depend on being able to parse C and C plus
> plus headers and likely always will be.
> 
> I'm not trying to offend anyone, and I really don't expect anyone to agree
> necessarily.  Just want to put forward my opinion as to what made a
> language like C plus plus with its radical new programming paradigm
> popular.. and how D deviates from this path.

Yeah, I see that you have an immediate need, see my other answer to you on
how I think you should fix it ;) IMHO, you shouldn't mix C and C++ in this
discussion, they are two different kind of problems (or C's problems in
this regard is a subset to those of C++).

You can link C object files directly, you only need the API declared in D,
and in many cases this conversion is trivial. This is because C at the
bottom is a simple language.

C++ is not a simple language, and neither is D. Both has a common stem in C,
but they wildly diverge in design goals, and in many places in
functionality. This makes it difficult, no matter what, to make them play
nice together. The brute force solution is to make wrappers, which usually
involves exposing the C++ lib as C functions, and then wrap it back in D
objects. wxD do this.

But you make one faulty assumption regarding the life of D and it's growth,
and that is that all D fans actually comes from C/C++ land. Equally many
come from Java and C#, people that often like the language, but is
dissatisfied with the speed options. And I think quite a few from the
scripting camp might take an interest too, when projects such as DSP get
into release. D is a different language (although it is perfect for C++
users), and it's possible uses range much further.

-- 
Lars Ivar Igesund
blog at http://larsivi.net
DSource & #D: larsivi



More information about the Digitalmars-d mailing list