I'm really struggling to see how the existence of a tool and the existence of ignorant people who will use it badly suddenly means that the tool itself is a bad idea.

Ignorant people exist in all fields, and tools will always be used badly. The trick is to make tools as safe as possible, by default, without rendering them so annoying as to discourage the use of their safety features.

A while ago, I came up with this analogy to demonstrate that being pro-choice does not have mean that one is anti-safety. However, when a motoring journalist reviewed the BMW M5, he noted that whilst the four-dour saloon (sedan) is spec'd as capable of achieving sub 5-second 0-60mph times; that the 11-way Driving mode selections combined with ultra-conservative default setting and the complexity of the selection process itself, meant that it took someone very familiar with the systems, longer than 5 seconds simply to switch the vehicles electronics into the appropriate mode required to achieve it.

His conclusion was that the vast majority of owners would either permenantly enable the highest performance setting and so forgo the safety features for the great majority of the time when the simply did not need the extra performance, in order that it should be available when they did. Or, they would never switch it away from the default setting and so the extra 25% of power it affords would never be used.

The same journalist had this to say about the (then) latest Corvette.

The Americans lecture the world on democracy and then won't let me turn the traction control off!

The point is, if the default settings are left at the highest, most pendantic and annoying setting (as with the web page); or if the complexity of tailoring the setting is horribly complex and an inappropriate level of default is chosen, then those who could most benefit from it will ignore it if they can (vis. the number of people who come here not using strict because it makes their lives harder!). And for those (PHBs) who have no real interest in understanding the complexities of the configuration, nor the arguments behind the choices they allow, will simply opt for an ass-covering "All code must comply with the default settings" edict.

Maybe you've always been lucky enough, or choosy enough to work places where management is drawn from the ranks of the technically informed, but very few programmers are so lucky. If you have had to work under the edicts of uninformed, Business Degree Only management types as I have on several occasions, then you'll know that defacto standards come about by accident, rather than good decision making, in the vast majority of cases.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
"Too many [] have been sedated by an oppressive environment of political correctness and risk aversion."

In reply to Re^10: Module Announcement: Perl-Critic-1.01 (scalar) by BrowserUk
in thread Module Announcement: Perl-Critic-1.01 by jthalhammer

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.