There is a new meme spreading in the internet - it's called seedwork. From Seedwork.
A framework is supposed to be a part-baked application that you extend in controlled ways to provide what you need. A seedwork is some minimal functionality that you modify however you like to get what you need. Of course this means that there's no way for you to get common updates to the seedwork, once you grow it you own it. This is the kind of copy and paste reuse that many people, including me, deride.
So when a library is a blackbox that you access only through it's published interface, seedwork is on the opposite side of the spectrum, it's an example that you cut, paste and extend. An great example of seedwork is the SYNOPSIS section of all perl modules manuals. This example also shows how the two paradigms of blackbox libraries and seedworks work together. Another example is the whole Open Source movement.

The question is: what are the properties of a good seedwork? Of course first it should solve some real problems, but what else? The first answer I found to this question is that it should be readily deployable. I usually learn to use new modules by copying the Synopsis section and runing it (sometimes this needs some obvious ammendments), only after I see them working I try to incorporate then into my programs.

Another interesting wiki with a Seedwork page: Thought Storms: Seedworks.

Update: After some thinking I must agree with Abigal-II and liz and admit that I cannot think up how this 'seedwork' could have a different meaning than the old simple 'example'. But the question near the end of this meditation seems to stay valid after restatement: What makes a good example?

Update: A defense of the term might be that it can be used to catch the code reuse aspect of examples. We have seen how libraries and object orientation were employed to reach the goal of code reuse - how about looking back on the probably first method of code reuse by cut and paste and determine when it is effective, probably by comparing it to the other techniques.


In reply to Libraries, Frameworks and Seedworks by zby

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.