Why D is not popular enough?

Shachar Shemesh via Digitalmars-d digitalmars-d at puremagic.com
Fri Aug 12 07:51:01 PDT 2016


On 11/08/16 18:41, Edward Diener wrote:
>
> 2) While I greatly respect the programming abilities of Mr. Bright and
> Mr. Alexandrescu and their hard work in creating and improving D, having
> followed both from the C++ world, the arrogance by which D was initially
> and repeatedly compared against C/C++ has been totally out of place
> since the beginning. C++ is a very good language and the effort made to
> denigrate it with specious and ridiculously false arguments about it
> vis-a-vis D as a programming language has almost irreparably hurt D as a
> serious programming language irrespective of its actual abilities or
> weaknesses. You are not going to appeal to the really intelligent
> programmers out there if you are not honest and rigorous in discussion
> of your own programming language in relation to others. All that you end
> up doing is to alienate anyone with real programming intelligence by the
> tactics that D has taken over the years with such comparisons.

To me, this is not so much the question of alienating C++ programmers, 
as it is that this arrogance is actively hindering D from becoming 
better. Any time I raise an issue I have with D, the discussion with 
both AA and WB seems more like an argument designed to prove to me that 
I am wrong than like a discussion aimed to make D better. Once they 
decide that something is best a certain way, it is very very difficult 
to make them see the downsides of that decision, much less act on it.

And, to me, this is an actual threat to D's future as a wide spread 
programming language. This attitude, if unchanged, will doom D to become 
a niche language, only suited for those who do not need it for anything 
that WB and AA have not thought of.

>
> 4) As a C++ programmer largely interested in C++ template programming,
> C++ concepts etc., and potential compile-time/run-time introspection, I
> have never found a compelling reason to use D rather than C++. I do
> recognize that C++'s template syntax is difficult and abstruse but I do
> not and have never seen where D improves upon these matters in any
> serious and rigorous way. This may be because the documentation about
> these areas in D is either very light or almost completely lacking. Even
> in Mr. Alexandrescu's book the discussion of these areas was very light
> in my estimation. So whatever D has to offer in these areas, if there
> are really impovements, is either lacking in the D documentation or does
> not really exist for me.

Here I'm not sure I follow you. I love C++, but its compile time 
execution is just horrible. Yes, if you are fluent with functional 
programming you will probably get by sufficiently, but since C++ isn't 
itself a functional language, this means doing C++ meta-programming 
requires a different programming paradigm than programming C++.

It is a very very very high barrier to pass.

Personally, I'm not a fan of doing too much during compile time. I think 
it introduces a level of complexity into your program, where the program 
as seen by the CPU is considerably different than the one you see in 
your source editor, that is hard to track and debug. As such, the 
weakness of C++'s meta programming has not been a major setback for me.

If you do like compile time programming, however, I don't see how you 
can claim that C++'s is good enough, when compared to D's.

Shachar


More information about the Digitalmars-d mailing list