|Think about Loose Coupling|
For thought: "Perl in the greater context of (me and) the software businessby sundialsvc4 (Abbot)
|on Mar 19, 2013 at 20:59 UTC||Need Help??|
In polite response to the recent spat of posts here, I would like to offer a perspective ... my perspective, but also a perspective of thirty-plus years ... on “Perl and the software business.”
First of all ... “my business,” for many years now, “is not ‘Perl.’” Or perhaps ... it’s certainly not just Perl. I will hazard to suggest that this is undoubtedly true of most, if not all, of the “old hands” here. We have clients (or employers), who not only depend on us to work our magic, but who entrust their deepest businesses with us. Perl is just part of that magic.
My actual job, at this point, is actually that of a software engineer. “You, mister customer,” are “somewhere,” and you have concluded (at this point, rightly or wrongly) that “you are not in the place where you today wish to be.” And my job is to figure out (a) how to stabilize “where you are now” (if you are in imminent danger of plunging into some abyss), and (b) to plot a course .. and a project plan, and a budget, etc. .. to wherever it is I recommend that you should now go.
Along the way, I will as-needed engage the über-specialists (if any) that may be required to get you there. I will, unbeknownst to you, arrange with each and every one of them to do their respective specialist part. Nothing special here: general-contractors hire subcontractors all the time.
It is actually typical that any project will involve multiple language systems, even on the server side. All of them, each in their own quirky way, has their own way to get you “there.” You, the client, got “there” by some pathway that today we cannot change. My job is only secondarily to consider where “there” is. My primary job is to discern where “there” should be. From this, the language-specific voodoo consists of a fairly sensible number of good choices. There are many languages to choose from, but also strong incentives to “dance with the one that brung ‘ya.”
And I honestly believe that, in saying all of these things, I probably speak for most of the “old hands” here, as well as many others. If the choices that we had to make were simple, bright-line choices ... why would anyone seek us out? (Hint: they wait in line.)
So, perhaps this will at least help to explain why I look at “this language vs. that one” arguments with a very puzzled eye. Software systems are built using languages, and, having been thus constructed, never depart from them; nor should they. Code that provably works is, indeed, a priceless thing. Most systems involve multiple languages as well as considerable history ... and yet, they provably work (okay, okay, “more or less”).
That is, at least IMHO, the computer software business. Perl, like all the others, is merely a means to an end ... a tool ... and a worthy tool it is. (Perl does not stand alone, but it does stand proud.) If you regard Perl, or any other language, “as an end unto itself” in this business, I submit that you are ... and I do not mean this “personally” ... missing the point, entirely. So much that I once again regard you, “with a very puzzled eye.” Perl is not the point. My clients, and what they wish to accomplish, are. Perl, along with all the others, is merely how I/we get there. The client does not care: the client pays us so that they don’t have to care.i