There was a post earlier today commenting on the dearth of documentation of how to use STDIN, as a simple program didn't do what he expected it to. (He tested for string equivalence with a single equal-sign, rather than what the inner C++ programmer wants (==) or what Perl wanted (eq).)

Several thoughtful people explained his error and how to correct it, or directed him to a CPAN package to better manage his I/O.

My question is: Are we helping people like this by providing the answer, or should we attempt to teach them to think like a programmer by asking a series of questions, leading the original questioner to find the solution on his own?

This is a concern for a very limited subset of posts. Questions about the fine points of a package, or how something could be designed better, etc. don't fall into the area I'm commenting on.

It just seems that there are people trying to program who don't try to be analytical when they encounter a problem. They don't write toy programs to address the question, they don't use the debugger or print statements, they don't Google or Super-search. They just say "Help!".

Are we doing them more harm than good by giving them the answers they ask for?

(I've been married to a High School teacher for 32 years; does it show? 8-) )

In reply to Should a Socratic Dialogue be attempted? by apl

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, 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, 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.