On 23/08/2018 9:09 PM, Shachar Shemesh wrote:
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).
Indeed that combination is horrible. It does deserve a rethink, but it
probably doesn't warrant changing for a little while since its more of a
polishing than anything else (IMO anyway).
* 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?
get/next/end functions, what?
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.
The N.G. by in large is self regulating. If you see behavior that isn't
acceptable you say so. Anybody can do this. Only when it gets really bad
does Walter step in and say to stop.
If we need to move away from assuming people are good and will be
professional given the chance, it will destroy the community. But I can
understand if we move to a more private channel for regulars and go for
a more regulated option for everybody else. Would that suit you?