Where do programmers come from? Are they incubated in special vials, or are they naturally born to code? Are they bred by unrelenting CEOs, or are they merely damaged middle-management types suffering from the abuse of line-of-business executives?
"They're trained employees!" you say.
Ha! Not likely! Management stopped paying for training ages ago, and a quick look in college programming classes will reveal that the number of students enrolled has hit an all-time low.
No, despite what the large computer manufacturers and software houses may say to the contrary, programmers are mystical creatures that first appeared on the planet about 60 years ago at the dawn of computerization.
Some speculate that programmers are actually the dark twins of marketing executives (that other race of unnatural humanity): Every time a bogus idea springs forth from a marking executive's mouth, seven programmers are called up out of the abyss to try to fulfill the promise. If they succeed, the marketing exec gets a raise; if they fail, the programmers become the chattel of the CFO, who toys with their precious algorithms and then bites off their heads.
Others speculate that programmers arrived when their home planet was destroyed, that their spaceship is hidden in a giant cave in Arizona, that after they crashed they fanned out across the nation in search of algorithms to feed their superior intellects. According to this theory, although they often look like normal human beings, programmers are actually superheroes on a mission.
What is that mission? To save your company!
Regardless of where they come from, however, there is no denying that programmers are special creatures, requiring special housing, feeding, and care. Like gerbils, they tend to be messy nesters, and they prefer living in cubby holes and cubicles. They are easily attracted to iridescent light, which explains why you can often find them gathered around CRT screens, staring blankly, munching potato chips and Snickers bars while sipping black, syrupy espresso. And though their jargon is often unintelligible, they can sometimes be house-trained into carrying on a civilized conversation in society. Such training is not easy, however, because programmers have a uncanny ability to transform spoken conversation into strings of acronyms that have a mystical meaning for them.
Take, for instance, RPG.
The Origins of RPG: A Different Kind of Creation Myth
One theory holds that the acronym stands for "Role Playing Game" and that the language was invented as a sales tool by IBM in the early 1950s. Although its use in the technology of game programming was never widely accepted, we do know that RPG was very successfully marketed by IBM to its business computer customers. This theory has been supported by a number of interoffice memorandums discovered at various archeological office sites that once housed IBM account representatives. These memos reveal a persuasive sales strategy that was often duplicated by other manufacturers of computing devices.
RPG: The "Role Playing Game" Theory
This is how the Role Playing Game strategy worked. Customers were first herded together into IBM's lobby, where they were told to wait for their sales representatives' return from their famous four-hour lunches. While they waited, they were entertained by a well-trained staff of system engineers (SEs) who conducted so-called "technical business seminars." These seminars were designed to demonstrate how automation could resolve difficult business problems.
The customers were broken into competing teams, provided with large 80-column index cards, and then--using a special code called EBCDIC--instructed to punch out patterns on the cards that represented their bank account numbers and their mother's maiden names. The cards were then randomly distributed to the players on the opposing team.
The first team to decode the encrypted index cards and phone the opposing players' banks was proclaimed the winner and was awarded the proceeds of the bank accounts.
Of course, the winners generated a lot of bad feelings from the losing team. It was while these customers wept that the IBM sales team would miraculously appear at the door, returned from their four-hour lunch breaks.
"What's all the commotion?" they would ask. When the losing customers complained about the scam that had just been perpetrated, the sales team would shift into high gear.
"IBM," they said, "has a programming language that can automatically decode all the cards in a matter of seconds. With this program product, you and your team can always be the ultimate winners." The sales team would then lead the customers into their offices and continue the sales pitch. What they sold these customers, according to the recovered memos, was RPG.
Another theory has it that RPG stands for "Report Program Generator." However, given its limited functionality--with no capabilities to handle fonts, spell-checking, or graphics--the basis of this theory is often questioned.
A third theory holds that RPG stands for "Ronald Patrick Gates," the fraternal uncle of William Gates of Microsoft. No one even dares comment on this theory for fear that their hard drives will be mysteriously erased.
The RPG Cycle and Other Modes of Program Locomotion
What is the RPG cycle, you ask? Dr. Richard A. Mirth, Ph.D., in his historical novel The Silverlake Tapes, under the footnote "The RPG Cycle: Footnote to Programming History," says this:
The RPG cycle was a popular ancient form of program locomotion within the RPG programming environment. Similar to a unicycle in construction, the RPG cycle consisted of a comfortably padded seat--suitable for well-endowed and widely girthed programmers--suspended over a single, large, composite stainless steel and white rubber wheel. The wheel was attached to a single axle by a series of flexible, straw-like spokes and two sets of pedals. One set of pedals allowed the programmer to move forward down a long printout of RPG code. This was called "scrolling." The second set of pedals reversed this process.
Often the RPG cycle allowed for sets of optional secondary wheels to be mounted on either side of the main wheel. These "RPG extensions" acted a bit like "trainers" and stretched out on their own unwieldy spokes to either side of the printout. Then, as the programmer navigated the code, these extensions prevented him from tipping over and hurting himself on complicated algorithms or functions.
How accurate is this description of the RPG cycle? What does it matter? The point is that programmers once thought that it was incredibly important. According to Mirth, in the same footnote:
So successful was the RPG cycle that many IBM programmers used it exclusively in the construction of their applications. After a time, many disdained any other programming technique, including "Flow Charting," "Pseudo-Coding," or even "THINKing." An entire subculture eventually developed around the RPG cycle, contributing to its eventual demise.
During the final days of the System/36, RPG programmers could often be found congregating at conferences to discuss the merits of the various RPG cycles parked outside. Eventually, some of the more rowdy members would form "user groups" and purposely wreak havoc on the local programming communities. Dressed in monogrammed and hooded saffron robes, they would ride their RPG cycles and "scroll" through the various neighborhoods, looking to harass innocent COBOL or PL1 programmers.
For this and other reasons, the RPG cycle was banned with the introduction of Silverlake. However, by this time, the appendages and thinking accoutrements of many RPG programmers had atrophied. It was nearly impossible for these poor souls to navigate a program printout without the RPG cycle.
Fearing a bevy of personal injury lawsuits, IBM Rochester quickly introduced the industry's first Virtual Reality Suite. Called "The System/36 Environment" (or S36E), it allowed old RPG cyclers to putter around Silverlake, getting the full functionality and thrill of riding a virtual RPG cycle. To this day, many user groups still meet within the confines of the S36E to relive their past glories and previous adventures on their cherished, albeit simulated, RPG cycles.
Programmers Are Different
Programmers are different. And, of the millions and millions of programmers, RPG programmers are perhaps the most rarified of the species. It's no wonder that executives who discover such creatures in their midst are often bemused by their arcane mannerisms while cherishing their special talents.
Isn't it a shame that more of them are not being discovered these days? Isn't it sad that their talents are seldom fostered or further developed in our companies today? How strange that so many have abandoned their craft, perhaps having returned to their space ship in Arizona and blasted off to India.
Perhaps they will someday return.
Thomas M. Stockwell is Editor in Chief of MC Press Online, LP.