On Fri, Dec 19, 2014 at 2:47 AM, Sergei Nosov via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
On Friday, 19 December 2014 at 08:57:56 UTC, Walter Bright wrote:
I've actually not found debuggers to be of much use other than telling me where the seg fault was and giving a stack trace.

I think the most valuable point Manu made is that there are "excellent" and "good" programmers.

This distinction may be valid in some instances, but I believe it is wrong to use when talking about debuggers.
 
In the "debugger" case, Manu's point is that it's unusable. And Walter's implied point is "debuggers aren't that useful anyway, so why it was a showstopper?".

My personal observation is that "excellent programmers" share the Walter's point on debuggers - they practically don't use it.

Hyperbole follows: This is bullshit.

Yes, 'excellent' programmers write excellent software that can be debugged without a debugger.  But 'excellent' programmers also have to debug code written by others (or themselves in the past), in which case a debugger is _incredibly_ useful.  Using a debugger can save hours or days in diagnosing/solving a problem.
 
And the uselessness is so obvious, that there's nothing even to talk about.

More hyperbole:  if a debugger is useless to you, you are not working on very complex systems.
 
It is so useful to them, that there's nothing even to talk about!
 
Yup, nothing to talk about.

Some/many people value a debugger as an essential development tool.  And not having a usable debugger in D is a showstopper for them.


Kudos to Manu for trying to use D at work.  But the issues he identified are essentially the same keeping me from pushing use of D professionally - tooling is lacking.  And this is coming from someone on the opposite side environment wise... I find Visual Studio atrocious, and believe those using it suffer from stockholm syndrome.

And yes, I understand nothing will get better without volunteers working on it... but it would be nice if we could talk about the problems without mudslinging everywhere.  Acknowledging where work is needed is the first step in getting said work done.