What are the worst parts of D?

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Wed Sep 24 20:55:23 PDT 2014


On 9/24/2014 7:50 PM, Manu via Digitalmars-d wrote:
>> I'm sorry, but this is awfully vague and contains nothing actionable.
> The action I'd love to see would be "Yes, debugging is important, we
> should add it at a high priority on the roadmap and encourage the
> language community to work with the tooling community to make sure the
> experience is polished" ;)

I make similar statements all the time. It doesn't result in action on anyone's 
part. I don't tell people what to do - they work on aspects of D that interest them.

Even people who ask me what to work on never follow my suggestions. They work on 
whatever floats their boat. It's my biggest challenge working on free software :-)


> I recognise that is probably unrealistic, because it seems so few
> people even use symbolic debuggers at all, that we have very few
> people interested in working on it.

You kinda put your finger on what the real issue is.

Note that I find gdb well nigh unusable even for C++ code, so to me an unusable 
debugger is pretty normal and I don't think much about it. :-) It doesn't impair 
my debugging sessions much.

I've also found that the more high level abstractions are used, the less useful 
a symbolic debugger is. Symbolic debuggers are only good for pedestrian, low 
level code that ironically is also what other methods are very good at, too.


> I don't really have a practical solution, but the post topic is 'the
> worst parts of D', and for me, this definitely rates very high :)

No prob. The initiating post was an invitation to a wine festival, and that's 
what we have :-)


>> I still don't understand what use case is it that pops up every day. What
>> are you trying to do? Why doesn't auto ref work?
>
> auto ref makes a reference out of int and float. There are all manner
> of primitive types and very small structs that shouldn't be ref,

Why not? What does it harm? And with inlining, pointless refs should be 
optimized away.


> and auto ref can't possibly know.

Can't know what?


> auto ref has never to date produced the semantics that I have wanted.

Please be more specific about what and why.


> If ref is part of the type, it flows through templates neatly, it is
> also possible to use app-specific logic to decide if something should
> be ref or not, and then give that argument without static if and
> duplication of entire functions, or text mixin.

It seems you are very focused on very low level details. Not knowing 
specifically what and why you're focused on ref/value, I suggest the possibility 
of taking a larger view, focus more on algorithms, and rely on the inliner more. 
Take a look at the asm code generated now and then and see if your worries are 
justified.



More information about the Digitalmars-d mailing list