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