On 10/28/2012 2:38 PM, David Nadlinger wrote:
> On Sunday, 28 October 2012 at 20:59:25 UTC, Walter Bright wrote:
>> It baffles me that programmers would find "undefined symbol" hard to make
>> sense of.
>
> Do really think that your typical Java programmer is familiar with the term
> »symbol« in the compiler/linker sense?

I am baffled why a programmer with even a modest skill level in any language would not know what a symbol in a programming language is.


> Also, don't underestimate the perceived
> scariness/ugliness of mangled names in linker error messages. I'm pretty much
> fluent in reading D mangled names by now, but most newcomers definitely 
aren't.

I see the point of that, and at one point optlink did demangle names. But that didn't change anything. There was also a filter one could run the linker output through that would demangle the names, but nobody found that useful, either, and it fell by the wayside.

You'll see the same complaints from the same people appearing for C code being linked, which does not have mangled names.


> That, coupled with the absence of the typical source location information (IDE
> integration!), is probably enough to make encountering such errors a
> significantly more unpleasant experience for most people than compiler errors.
>
> Again, maybe not for you, maybe not for me, but I think it is clear that this 
is
> a problem to some, so the discussion should not be about talking the problem
> away, but rather about evaluating possible solutions/mitigation strategies in
> terms of feasibility (e.g. name demangling in linker output?).

There is this, which is linked to from the faq:

    http://www.digitalmars.com/ctg/OptlinkErrorMessages.html#symbol_undefined

I even wrote an entry in this book

    http://www.amazon.com/Things-Every-Programmer-Should-Know/dp/0596809484

about it. *Every* programmer should know what a linker does.

Reply via email to