A common theme of computer programming and novel writing is that of basic communication.

Novelists try to convey information to their reader. In order to be successful, they need to approximately model, if only unconciously, on how the receiving system (their intended audience) will respond to the data, and craft their work according to their expectations.

Programmers usually try to convey information in two ways simultaneously. First, they try to convey configuration information to the mechanical systems (computers and associated hardware) that will receive the data, and craft the work so that the hardware responds as expected. Secondly, and simultaneously, they try to communicate the salient points required to understand their design to other programmers, and again craft this communication in a way that will be well received.

In perl, I find that making the code work is usually the easy part. Making the code understandable to my intended audience is hard, especially since I don't always know who that audience will be.

I try to target my code and documentation at a junior level maintainance programmer who doesn't know perl well, and may not be very familiar with my project or it's design goals. That means, I tend to trade performance considerations and development time for (hopefully) ease of understanding and maintainance.

Writing a line of code, like writing a sentence, is easy. Writing the right line of code, or the right sentence, is a difficult artform. Or at least, that's what I like to tell myself, on days when I don't feel like I've accomplished much. :-)

--
Ytrew


In reply to Re: noveling and software design by Ytrew
in thread noveling and software design by apotheon

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.