I have to completely agree concerning the Illusion of One-Offs. In another
(shudder) language I was using this summer for an internship, I came to the same conclusion. It became apparent that much of what I was writing could be combined into a simple module/object and reused in whatever section of the program that I was working in. By abstracting the program to be able to handle general situations rather than distinct individual ones, I began to think of Turing and his early computational machines, and how he wanted to develop a general machine that would take any sort of algorithm, and that's when I realized that this is actually a fundamental part of computers that each of us deals with at both high and low levels. Our entire experience is mediated by a constant abstraction. Perl itself is an abstraction that greatly simplifies our tasks.
Imagine having to do in machine code what we do with Perl.
In the end the very language we are communicating with seems to be an abstraction of the actual concepts. When each of us uses a word to describe something we are not in actuality describing it to the fullness of its nature, but rather using a name to identify a concept. It is this fundamental principal that seems to be ever evolving in the languages we use to program (be they scripts or programs =) or the manner in which we program ourselves. That's a cool thought provoking idea you have there mrmick.
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link
or How to display code and escape characters
are good places to start.