in reply to The Illusion of One-Offs

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.