Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??

As Lord Bryon said "Knowing the right question to ask is half the answer."

And someone (probably an inscruitable japanese gentleman) said: "Each journey begins with the first step". (Or maybe it was an American and "Each journey begins when you step on the gas":).

And one of my old bylines which might have been original, but maybe not, went: "The hardest thing is not knowing what it is that you don't know".

The upshot is, simply recognising that you need to gain more knowledge is the start. From there you have several alternative routes. Sticking to coding so as to keep this vaguely on topic.

Traditionally, the route was 'plan, design, specify - then code'. This has some advantages, but I've seen several, large, highly specified and well designed projects fall behind schedule, go way over budget and ultimately flounder because seemingly insignificant details in the original specifications were based upon assumptons. mistakes or simply overlooked. Later, these proved to be so intractable or required so much reworking of the layers above to correct, that it was economically infeasible. (Anyone heard of or remember Nimrod?).

Thats why I personally prefer the RAD approach to development. Get as much as you can going as quick as you can, skipping the nice-to-haves and foregoing some "best practices" if need be, at the same time as the specification is being drawn up. The idea is not to produce great code or a complete product, but to simply prove the concept will (or can) work from top to bottom. Often, this can result in simplification, where certain "obviously desirable" features prove to be unneeded or unworkable. To me, the value of such a first-cut piece of throw-away code is often way undervalued.

Relating this all back to the asking of questions. Recognising that you are almost certainly not the first person to try and do what you are doing, means that if you can get the willing ears of a sufficiently large group of your peers (coders in similar fields), then asking "the question" can often save you a large amount of effort pursuing (whether through books, reading code or prototyping) the wrong direction. Sometimes just asking the most basic question of such a peer group can get you pointed in the right direction.

Hence the true value of the interactive nature of PM:)

Of course, there will always be those who won't hear or will simply ignore the answers, but noone should be afraid to ask their question -- at least once.


Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller



In reply to Re: I Don't Know What I Need To Know by BrowserUk
in thread I Don't Know What I Need To Know by nimdokk

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!
  • 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
  • Outside of code tags, you may need to use entities for some characters:
            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.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others imbibing at the Monastery: (12)
    As of 2014-09-17 16:56 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      How do you remember the number of days in each month?











      Results (91 votes), past polls