Its true alot languages would consider many of Perl's warnings to be
errors, that's not really analgous to what we're talking about here.

Run-time errors aren't quite in the same spirit as run-time warnings.
A run-time error is something the language defines as being explicitly
bad or a mistake (even if it can be caught as an exception).  Run-time
warnings are just the language saying, "excuse me, there might be a
problem here".  An error is, "NO, YOU'RE WRONG!!"

Errors and exceptions must be dealt with, else your program won't run.
Warnings... they can be ignored.  Warnings are often stylistic in
nature, errors are not.  An error is often a very concrete indication
that something is wrong, a warning is not (if it was, it should be
promoted to an error).

With that in mind, do we have any analogies?

I can think of some GUI analogies.  Macster (the Macintosh Napster
client)* requires that you confirm every download you cancel.
Windows, by default, requires that you confirm everything you drop
into the trash (or whatever they call it this week).  Most software
installers require that you click [Accept] after reading the
agreement.  Some even require that you scroll down to the bottom
before letting you accept.

The result?  People either shut them off or mindlessly click [Ok].
Nobody** sits there and things "gee, do I really want to throw this
out?"  Nobody reads software licenses.  

Its not that there's anything wrong with these ideas, but its the
continual bombardment which dulls the senses against them.  If the
user has internalized the need for them (say, they once deleted a file
which cost them their job) then it might be helpful.

Similarly, a wet-behind-the-ears programmer will not give Perl's
warnings much credence if their program runs fine despite of them.
They will be ignored until such time as they internallized, through
error or teaching.


* I expect the Feds to be knocking down my door any minute now.
** s/Nobody/Just about no one/ for the picky.

-- 
Michael G Schwern   <[EMAIL PROTECTED]>   http://www.pobox.com/~schwern/
Perl6 Quality Assurance     <[EMAIL PROTECTED]>       Kwalitee Is Job One

Reply via email to