Large portions of our population, especially the business, engineering, and academic communities treat computers and software as an everyday word. They talk to their computers with varying degrees of absurdity. Yet these silent sentries staunchly defy all threats and accusations. Software is everywhere; yet it forever fails, breaks down, and eludes reason. Programs crash, files have incorrect definitions; yet fickle fingered masters of the art are full of tricks and shortcuts for luring it back to support their fleeting whims and illusive dreams.
Sluggish software and internet access absorb enormous amounts of time. Yet this icon of the modern age is totally addictive. Once hooked, normal people are quickly enslaved to the mundane details of file manipulation, loads, and reloads. Much of the overhead of enduring this monster is due to the shortcomings of the software that manipulates it. We can build skyscrapers, race cars, and high performance electronics. We can understand quantum mechanics and subatomic particles; so why can't we produce quality software?
Software is in many ways more closely associated with psychology than engineering, technology, or mathematics. Software comes directly from the thoughts of the human soul. The best software often takes advantage of the creativity of the soul. It falls short of the beauty of art and lacks the discipline of engineering. Furthermore, it will forever be doomed to the psychological makeup of its creator.
Software reflects the psychological perspective of its developer. There a number of factors which contribute to this perspective. They include: The individual programmer/developer, the development environment, and the System. The individual programmer/developer brings to the job his own psychological perspective. The development environment includes all the computer hardware, software, and procedures used to develop the product. The System includes all the people, development environments, components, organizational relationships, and everything else that combine to accomplish the purpose of the system. This is a paraphrase of the definition of a System according to Deming.
Software is as fluid and flexible as people. It is subject to whims, imaginations, fears, and hopes. It reflects the viewpoint of the developer, his understanding of the objective, his feelings about the customer, his concept of perspicacity, his idea of quality, his respect for authority, and his knowledge of the customer. If you want to build a better product with computers, software is the key. It represents the mind of the system. The thing that gives the product its touch and feel - it's human side - its personality.
First, there are the vocabulary traits. Whether internal or external, the vocabulary constitutes the basic building block of thought. One cannot think beyond his vocabulary. The power of communication with the inanimate machine lies in the vocabulary. The computer can be easily taught to respond to any vocabulary. It's capabilities are virtually unlimited. So where's the rub? First, whereas the computer has unlimited vocabulary potential, its human master is usually very limited. The human wants everything short and simple. That means that good computer support must simplify, reduce, and shorten communication with its humanoid companion. That means it must consolidate, compact, and conclude. Secondly, software with a large vocabulary may be large, complex and difficult to develop and maintain. So, whereas, the computer offers limitless possibilities, it is constrained by the limitations of its developer.
The programmer system developer has a monumental challenge. He has the power to play God with the computer. He can create anything within his mental limitations. The computer will do precisely what it is programmed to do. It will obey every command precisely as it is trained to do. The developer can incorporate all the eccentricities of his genius, the frills, the taciturn meandering through cyberspace into his sole creation. His human limitations can be overcome. He can achieve new heights, hopes, ambitions. He has computational power at his disposal. He enters a new dimension of mentality.
Although the programmer can do great things, his skill soon exceeds his intelligence. And with souls of yesteryear, he finds himself looking for a job. Unable to think up the requirements for himself, he bows to those who will feed him, clothe him, pay him an income. He lets them give him the requirements, select the colors, decide upon the frills, and determine his delivery schedule. His life, even with the power of the universe at his disposal, is soon reduced to the daily schedule of the common laborer. How could such a magnificent genius bow to the labors of life; give up his authority over his creation to a boss or a capricious customer; stoop to the drudgery of maintenance; or become a slave to configuration control? How could he allow others to dictate his life?
Build it - buy it,Of all the products, software seems to have the shortest span. But why? It can be as short or as long as its maker likes or the customer demands or the boss wishes or the bugs destroy. It is amazingly flexible. It can be built to expand out, to rise up, or to cycle. It can live for years, or pop in an instant. The product life cycle is in the hands of the designer. It can be short, long, big, broad. It can be incremental, evolutionary, or spiral. So why all the fuss?
Test it - try it,
Send it - sell it,
Dump it - trash it!
It is precisely all this flexibility that causes the trouble. There are numerous variables, many decision points, and limitless options. Like the human mind, software has a basic support operating system that runs all the time, storage, logic, viewers, sound and communication ports. There are also the transient tasks that run only a short time. Systems often reach confusion and stop so the mess can be sorted out. Computers don't like confusion any more than people.
The more one looks at it, the more the computer is a mirror of mankind. In it we see our own mentality - our strokes of genius and our stupid mistakes! It mimics our psychological makeup. It transforms our thoughts into a mechanical executor, an electronic translator, a physical decision device. It gives us back what we make it do. Of course, it may be without finesse, out of tune, or just plain wrong.
Once programmed and performed, a unique personality emerges. The inevitable result of programming the mechanical monster is to give it a mechanical soul. The soul of a robot - the mind of a genius? Perhaps, but more likely a highly efficient helper with quirks and ridiculous aberrations. Why all the problems? We are forever playing God. We know what we want. Why all the mess? Face it: The master made a monster. And we're the master.
The computer should be more stable than us, since it is without emotion. It should be objective, logical, and right. It has no feeling and it cannot reason. It can rationalize but not reason. Although it has no feeling, it certainly evokes them from us. People get angry, and fuss, and speak harshly to this deaf, dumb, dead, insensitive icon. It isn't human; but it is entirely rational. The one thing it never has, or ever will have, is an ounce of love. It can't love; it has no life. It can't love; it can't hate. It has no opinion. It is objective - entirely logical, quick, efficient; but dumb as hell!
The maturity level of the average computer is somewhere between a dog and a three-year-old. Perhaps that's why computer users are often heard to be saying, "Yeah!", "wow!", "oh", "byte", "bit", "uh - o!", "no - no - no!!!" Now does this sound like the vocabulary of a genius or of an adult? So, if the vocabulary evoked by this mechanical partner is so childish, what does that say about its creator, programmer, user? Is this simply a child's toy? Are we regressing back to childhood? 'Tis a true psychological question. One that would be expected from an imminent psychiatrist.
The irony is phenomenal: All those serious scholars speaking in monosyllabic gutturals, "uuh", "ah", "oh." Mankind is forever trying to learn something, to produce something, to master something. But is he progressing or retrogressing? There is much to be said for simplicity (the KISS principle), but is this naiveté or simplicity? I think the computer would say, "Naiveté!" If the computer could talk, it would speak of man as naive, stupid, dumb. It would say, "You dummy, why did you program me without my constant; you know I have to have my constant." Or, you left off the comma (or the designated delimiter, dummy)! What do you expect me to do, read your mind? If you have one?"
Interesting, isn't it? The computer would sound almost human. It would likely say the same things we would say. Why is this? Is the computer right or the humanoid right? There is quite a bit of evidence to suggest both are right - both are dummies. Since the computer is the mirror of the humanoid, then it should, indeed, reflect the glory of its creator. Would a dummy call a dummy a dummy? Yes, it's psychological denial and projection. We observe in others what we know about ourselves.
There are obviously many influences that determine the resulting personality of the computer product. As robots mature, the personality aberrations will become more prominent. However, in spite of all the factors, the programmer still has a volition, and he is ultimately responsible for his creation. The supervisor may get credit for his productivity, the CIO for his ingenuity, the CEO for his profit while the lowly programmer is recognized only when there are bugs. Yet the programmer developer is responsible for his creation. And his creation is a psychological mirror of himself.
Now, we've made a full circle. It started with the programmer, and now what is reflected back is the psychological perspective of the programmer as translated into the code (or other computer product). Of course, the efficiency of modern mass production may duplicate the resulting canned personality of the programmer onto the desktops of millions of unsuspecting patrons. However, the key ingredients of the psychological makeup of the programmer developer are prevalent, namely, the mentality, left and right lobes, vocabulary storage, visual cortex, memory, list processor. And missing are the emotion, conscience, volition, and love. Volition doesn't qualify because although there are choices, there is no freedom to choose. That was taken away when the computer was made a slave to its code.
The computer product is a psychological aberration - an imperfect image of its creator.Solomon once said, "There is nothing new under the sun." Is the computer? Apparently not. It only gives us back what we give it. It takes our instructions and translates them into the things which help or amuse us. We pour our mental energy into it, labor over it for hours; and then as quick as light it radiates the result. The hours of thinking and manipulating come back in an instant along with the imperfections which are magnified a thousand times. The computer can screw up things never before imagined.
We put into the computer our logical algorithms, our mental meandering, and our pitiful insight. We get back an instant answer that is no better than our assumptions, our logic, and our academic skill. We haven't changed, and our products, whether automated or manual, reflect it. After two generations of studying computers, we are not even near deciding upon a basic vocabulary for them.
Our products - ourselves!
Computer technology helps and hurts, works and fails, runs and stops. Is it so different than the most complex entity of all creation? The best of computers have never duplicated the capabilities of the human mind; and they never will. Think of a computer that can be born with no vocabulary; and then learn to think, relate, reason, and love; work for a lifetime; store all the imagery of life; and never have to be redesigned for all of human history. No way!
The self-righteous, legalists have made a big mistake in thinking they can define the software development process. They understand neither its beginnings or its consequences. The academic community tried it briefly and then gave up. The business community never cracked the code. The giant software houses are pouring enormous energy into the process of creating code, playing God, and pretending to be servants of mankind. All are looking at themselves in the mirror. The computer is laughing back.
August 30, 1996 - Revised August 3, 2001- Public Domain.
Author: Larry Wood, Email firstname.lastname@example.org