D is dead
Shachar Shemesh
shachar at weka.io
Thu Aug 23 09:09:40 UTC 2018
On 23/08/18 09:58, Joakim wrote:
> Because you've not listed any here, which makes you no better than some noob
Here's one: the forum does not respond well to criticism.
Here's an incredibly partial list:
* Features not playing well together.
Despite what Joakim seems to think, I've actually brought up an example
in this thread. Here is another one:
functions may be @safe, nothrow, @nogc, pure. If it's a method it might
also be const/inout/immutable, static. The number of libraries that
support all combinations is exactly zero (e.g. - when passing a delegate
in).
* Language complexity
Raise your hand if you know how a class with both opApply and the
get/next/end functions behaves when you pass it to foreach. How about a
struct? Does it matter if it allows copying or not?
The language was built because C++ was deemed too complex! Please see
the thread about lazy [1] for a case where a question actually has an
answer, but nobody seems to know it (and the person who does know it is
hard pressed to explain the nuance that triggers this).
* Critical bugs aren't being solved
People keep advertising D as supporting RAII. I'm sorry, but "supports
RAII" means "destructors are always run when the object is destroyed".
If the community (and in this case, this includes Walter) sees a bug
where that doesn't happen as not really a bug, then there is a deep
problem, at least, over-promising. Just say you don't support RAII and
destructors are unreliable and live with the consequences.
BTW: Python's destructors are unworkable, but they advertise it and face
the consequences. The D community is still claiming that D supports RAII.
* The community
Oh boy.
Someone who carries weight needs to step in when the forum is trying to
squash down on criticism. For Mecca, I'm able to do that [2], but for D,
this simply doesn't happen.
------
This is a partial list, but it should give you enough to not accusing me
of making baseless accusations. The simple point of the matter is that
anyone who's been following what I write should already be familiar with
all of the above.
The main thing for me, however, is how poorly the different D features
fit together (my first point above). The language simply does not feel
like it's composed of building blocks I can use to assemble whatever I
want. It's like a Lego set where you're not allowed to place a red brick
over a white brick if there is a blue brick somewhere in your building.
Shachar
1 - https://forum.dlang.org/thread/pjp2ef$310c$1@digitalmars.com
2 - https://forum.dlang.org/post/pctsgk$182l$1@digitalmars.com
More information about the Digitalmars-d
mailing list