|Think about Loose Coupling|
Social Computering vs. Computer Science (fn1)
Over the course of my personal experience with perl in particular, and "computer science" in general, there have been numerous annoyances, anomolies and artificialities that have caused me varying degrees of irritation over the years (nearly all of them non-perl-related, incidentally).
I routinely keep these to myself. Why be a troll? Why be a religious zealot? There are already too many as it is. Moreover, I usually later discover someone else has already written elsewhere about problems that, formerly, I thought only I had noticed. (fn2)
It has recently dawned on me, however, that those annoyances were trying to teach me something: a revelation that I am now prepared to share with the rest of the world. Are you ready? If you ponder it may very well change your life, no joke. Here it is:
You must learn to distinguish "Social Computering" and "Computer Science" and make this distinction a part of the way you think. This will save you time, productivity, and perhaps even your sanity.
Mathematicians distinguish between "applied" and "theoretical" and even "recreational" branches of study. The same is true of physicists, perhaps even chemists. Even in non-scientific disciplines, such as law and politics, you see a similar recognition of such "branches".
This distinction, however, is embarassingly absent from mainstream computer science and I.T. fields, and this is not good. This gaping deficiency leads to a litany of persistent phenomena that will irritate you tremendously if you attempt to approach your I.T. work with a strenuously scientific (or even just internally consistent) methodology. This deficiency is why 'scientific' and 'computational' endeavors get lumped in with activities that are more akin to politics, sociology, existential philosophy, and abstract art. This deficiency explains a whole host of (apparently unrelated) oddities that can be explained consistently when viewed under the rubric of 'primarily social endeavor'.
Such oddities include:
The bottom line is not to say that 'social' endeavors and values are 'bad' or 'inferior' to scientific ones. The point is that the willy-nilly mixing of the two under the heading "Computer Science" is rampant, and you will do well to recognize this, and adjust your perceptions accordingly.
(fn1): the use of the term "computering" is not a typo.
It is intended to emphasize the social and linguistic phenomena
that are often inconsistent with 'computation' or 'science'.
(fn2): see e.g., The world is not object oriented, http://www.well.com/~doctorow/metacrap.htm
Edited by planetscape - closed DIV HTML elements in signature