I have a website, which probably comes as no surprise to you, since you’re here—most likely because you took a wrong turn somewhere on the Information Superhighway, and now you’re staring at the screen with a mildly annoyed “WTF???” forming on your lips, wondering how the blazes you ended up in this godforsaken virtual one-horse hamlet and, more importantly, where exactly you will have to click in order to exfiltrate and proceed to more alluring locales.
As to its genesis, I didn’t buy—nor filch—my website off the rack but took it upon myself to code and build the darn thing from scratch, a few subsequently inserted prefab plugins like WordPress excepted. Neither being particularly tech-savvy by nature, nor having ever received formal training in programming, web design, or the like, I merrily followed along “Website Building for Dummies” and similar instructional materials, thus acquiring the barebones fundamentals of HTML and CSS, interspersed with the occasional shot of JAVA when absolutely necessary.
The critical visitor will no doubt conclude that the result, while falling quite a ways short of abysmal, pretty much accords with what one would expect when a layperson tries his hand at web design. (Looking at the messy way my site’s source code has evolved over the years serves as the equivalent of at least an undergrad degree in biology, as it has furnished me with a profound understanding of the nature and provenance of so-called junk DNA.)
In any event, whether one designs a personal website, writes code for some brand-new iPhone app, or engages in any other kind of computer-related programming, and granted that amateurs and professional coders operate at vastly different levels of proficiency, the basic procedure remains the same:
You clap together a section of code, and then you expect—or, rather, you hope and pray—that the result will look and behave in perfect conformity with your desires, i.e., with the commands you have, or think you have, included in said piece of code.
So for example, if you decree, via your coding, that on a given page the image of a jelly belly creamsicle is to display at the the top left corner of screen, which, upon being clicked, is to change into a clip of Marilyn Manson decapitating a nuthatch with a poleax, while, at the same time, an mp3 of Händel’s Organ Concerto Op. 7 is to start playing; yet upon testing, the creamsicle shows at the bottom right and, when hovered over, emits the sound of a car horn being honked as the visitor is taken to the homepage of Rachel Ray’s 30 Minute Meals; then you know that your precious code contains a few clangers in need of fixing—for, obviously, your page doesn’t quite look and behave the way you had intended. Ergo, you must have screwed up the code somehow.
As any web designer, developer, or programmer will likely tell you, there are few things more frustrating in this world than to pore over reams of code for hours on end until one has finally located the missing closing tag or the comma that should have been a semi-colon in the first place in order for a given feature to perform as expected (or to perform at all, for that matter, as the tiniest typographical coding glitch, like one slightly misplaced punctuation mark, can prevent an entire website from loading, let alone thoroughly gum up the functionality of any of its components and subsections).
No matter how contrary to your vision and your wishes the outcome of your labors, you can bet your bottom dollar that the website/program/plugin/app you created performs exactly the way you told it to, as far removed from the way you want it to this may be. Not having a will of its own—although it often seems as if it has—programmed matter of an electronic nature inherently lacks the capacity for doing anything other than follow to a T the instructions of its creator(s).
By contrast, the nifty thing about dealing with people is that we can always point fingers at others when things don’t go our way. After all, if we’re lucky, the blame may indeed reside with someone else. If the waiter doesn’t serve the salmon in keeping with the way I ordered it done, my order may have been perfectly valid, but the waiter may simply be too thick to have understood and processed it properly.
But when it comes to stuff we have programmed into a computer, the buck stops with us—oh how aggravating it is to know that we can point no finger at anyone but ourselves for having made the very blunder that has produced the undesirable outcome in front of us!
As concerns dealing with wetware (= humans), however, to what extent are parents to blame if their children fail to behave in accordance with the programming those children were subjected to in the form of having been raised a certain way? What went wrong, for instance, if a youngling raised to be a devout Catholic turns into a raving atheist or vice versa?
If a kid does X when he’s supposed to do Y, does this mean the parents made a nurture coding error relative to their druthers, akin to having forgotten to close a tag somewhere along the way, or has the unwelcome behavior been hardwired into the child by nature’s (= genetic) coding such that even the most impeccable parental nurture coding would have scarce made a dent?
Either way, it must be eminently disappointing for parents to realize that their creation simply will not perform as planned in spite of their best efforts to get him or her to function as desired in this world, very similar to a web developer’s frustration over a particular design element stubbornly displaying in the wrong corner of the page or loading the wrong applet when clicked.
At least the web developer knows with certitude where the blame goes, namely to him- or herself for having included flawed command lines in the code (“flawed” in the sense of producing an undesired outcome).
But at whose doorstep are disheartened parents supposed to lay the screwup that lead to the misbegotten endgame? Who’s responsible for the glitchy command lines in their children’s code? They themselves, via some buggy programming they perpetrated upon their offspring, or the genetic lottery over which they had no control?
Or both at some indeterminate ratio?