On 10/29/12 2:10 PM, Peter Alexander wrote:
On Sunday, 28 October 2012 at 20:59:25 UTC, Walter Bright wrote:
On 10/28/2012 1:34 PM, deadalnix wrote:
As Andrei stated, the linker's native language is encrypted klingon.

It baffles me that programmers would find "undefined symbol" hard to
make sense of.

_D3yeah9whats82__T4soS36_D4hard4toFZv9__lambda1FNaNbNfiiZbVE3understand9about12this


;-)

Seriously though, it's irrelevant. The fact is a lot of programmers,
especially new programmers or ones from programming languages that don't
use linkers find link errors scary and confusing.

Pretending otherwise gets us nowhere.

Saying it baffles you why things are this way gets us nowhere.

Saying that "they should understand" gets us nowhere.

I agree (and was about to post something very close to this). I've heard many times about this particular baffling, and it's one of those cases in which clearly people who are otherwise competent have quite a bit of difficulty. So one reasonable resolution is "well that's how people are, and that you think differently doesn't solve the matter one bit, so let's see what steps to take on improving it".

From what I can tell here's how to solve linker error issues:

1. Automatic demangling of the symbols involved must be in place.

2. For undefined symbols, there must be reference at source file and line level of where they are referred - /all/ places!

3. For multiply defined symbols, there must be reference at source file and line level for each definition.

I understand there are technical difficulties in implementing the above, but that doesn't justify being baffled.

Being baffled is not an option.


Andrei

Reply via email to