State dependent learning can apply to any state - not just the alcoholic one. In my college "Memory and Cognition" course we read a paper that compared scuba divers learning/recalling under water to scuba divers learning under water and recalling out of water (and vice versa). The context in which we learn something is the easiest context in which to recall it.

I think state has a lot to do with successful programming, but for me, the programming state is internally generated and is something closer to meditation. I think of it more like entering the world of a good book. Or maybe it is like listening to a symphony and feeling its motion and the way the instruments curl around each other. Or better yet, writing a book with plot, story and characters.

When I design a large program, I enter an imaginary universe "peopled" with classes and objects. Each plays their role in the plot and it is my job to give them them the needed skills and personality to do their job. When I study someone else's system, the first thing I try to figure out is who the cast of characters is. I study the database tables, the classes, the way they relate to one another. I try to understand the flow of dialog between them, the range of action, the personality of each part of the program or system.

Sometimes it is hard for me to get into that state. But over the years I have learned to turn that into a reality check on the design. One test I have of a design is: "Can I understand it without being in that state?" If I can't, it is probably too complicated. Then I have to wait until I can work myself back into the world of the problem and rewrite it. It doesn't always happen on cue and I have to go off and focus on other tasks for a bit.

I suspect you will get many different answers on this thread, and maybe you will see a bit of yourself in each of them. But at the end of the day, you will just need to experiment until you find your own way of creating that inner space where you can think clearly and understand your own work.

Best, beth


In reply to Re: Personality Splits and Programming by ELISHEVA
in thread Personality Splits and Programming by biohisham

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.