One thing that is also frustrating is apparently intelligent people (even software engineers, while writing code) who see a stack trace and their mind goes blank. They then send you an error report saying 'I set X to 4 in my code and got this exception, here is the stack trace - what's wrong, and how do I fix it?' followed by something like:
WrongNumberException: Please use the
number three instead of four when
setting x
io.number.NumberChecker.java:123
Of course many error messages are completely inscrutable, but it seems nobody reads any of them, parsing it as 'computer says complicated thing' or similar...?
If only all error messages would be that helpful, dev work would be significantly simpler. Instead I rely on the source, or decompilers to figure out why shit doesn't work.
The most ignored real error like this that i see continuously is:
C:\Users\Mithaldu>perl -MDoesnt::Exist
Can't locate Doesnt/Exist.pm in @INC (you may need to install the Doesnt::Exist module) (@INC contains: C:/strawberry/perl/site/lib/MSWin32-x86-multi-thread-64int C:/strawberry/perl/site/lib C:/strawberry/perl/vendor/lib C:/strawberry/perl/lib .).
BEGIN failed--compilation aborted.
Not to exclude the X factor, but presentation matters. I think vomiting exceptions, stack traces, or error codes in text makes people not care. Not just a layman, but an expert, too.
This is very true. A verbose log is incredibly helpful to someone who can read them, but if you are unfamiliar with the format, or find bits that you cannot interpret, then it all starts to look like noise.
It reminds me of my cousin, who is a ranger in a national park, when she says something like: "Oh, the deer have been here!" whilst pointing to a patch of ground which looks totally indistinguishable from all the other patches of ground which presumably do not show traces of deer.
Your brain gets trained to see subtle changes only after several exposures to meaning. Joel Spolsky had a similar scenario where the bread making machines looked clean to a trained eye, but not to an untrained one.
It gives me hope for a solution, since then I've got some text strings to throw at google. Otherwise, I'm back to starting with "$program_name crash", because I don't want to use search terms that would exclude someone's wording describing the same problem.