|
Humour
Beware, computers think like us
T A Balasubramanian analyses the thinking patterns
of programmers and their computers.
With some more wacky wise stories and off-the-cuff advice,
Dr Don Jong is back, probing into the curious labyrinth that is the mind of
Bobo Jitter, the CIO of Bazooka Company. Called the Oddfather because
of the unusual fixes he offers, Dr Jong, as we know, has a unique bedside manner
for handling technologys eccentric conundrums.
While I do a lot of my work with computers each day, Doc, I am often stricken
by panic when I actually think about what we do for a living.
And why is that, Bobo? says Dr Jong, leaning back on his armchair
with a patient look at his patient.
Im going to go all the way back to the basics, starting with one
of those deceptively obvious ideas that everyone can agree with at first glance,
says Bobo, crossing his arms as he settles back on the couch.
Computers
do not think, Doc. Everyone knows that computers do not have their own thoughts,
but most people would be hard pressed to tell you what computers actually do.
And they would have an even harder time trying to describe the difference between
thinking and whatever it is that computers do.
Ah, so what is that computers actually do, my boy?
Well, Doc, what computers really do is manipulate symbols according to
a predefined set of rules. Humans, on the other hand, associate symbols with
meanings. Again, it is easy to nod and agree with that, but even good programmers
can get caught by the difference a dozen times a day.
Is that so? I wonder why.
Call it our professional hazard. Programming practicewhich is what
we do to make those unthinking computers do anything usefulinvariably
makes me and my coding teams think like computers. It teaches you how to simulate
a computing machine in your head, rather than shuffling a bunch of rules together
randomly and hoping they do the right thingwhich is probably what a psychiatrist
doesno offence meant to you, Doc.
No, of course not. But you were pointing out to the difficulty that programmers
have with symbols?
Yes, Doc. That brings me to my second deceptively simple panic pointfor
us humans, all symbols represent meanings. The tricky bit here is that we humans
are the ones who make the assumptions. Remembercomputers just manipulate
symbols according to rules we feed them. But in the human world, we expect to
move from one meaning to another, logically connected meaning.
So what is the cause for panic?
Well, Doc, the problem is that, even in the human frame of reference,
it is hard to pin down the concept of meaning. Philosophers have
been fighting over it for centuries. Personally, as a CIO meditating about programming,
I have found it easiest to assume that the term meaning describes
all the logical connections we can make between one idea and another. To put
that another way, we define meaning in terms of human assumptions, and we take
it for granted that computers will behave a certain way based on those human
assumptions.
Of course, Bobo. So human assumptions are the basis of all software. Programmers
define the rules by which computers manipulate symbols. And you fear those assumptions
could be wrong?
Precisely, Doc. What if they turn out to be terribly wrong assumptions?
What if there is no cheese at the end of the maze?
Well, Bobo, thats what we all have to accept, whatever we are doingwe
human monkeys are burdened with the responsibility of our assumptions, is it
not? Sometimes there is cheese, and sometimes there is no cheese. So that makes
it important for you to know what programming makes you dosince you say
programming practice is what puts you and your teams inside the computers
head, so to speak?
Thats right, Doc. First, programming is the art of thinking clearly,
and second: a computer programmer is a human who has been trained to think like
a computer.
Wait a minute, Bobo. You started by saying, Computers do not think,
right? Then you said Programming is the art of thinking clearly, and a
computer programmer is a human who has learned to think like a computer.
Now what do you get if you put all those sentences together?
Ah, I see where you are going, Doc. So, does it mean that I am saying
a computer programmer is a human who has learned not to thinkor
worse, has actually lost his power of thinking like a humanwhich is the
usual blustering, fuzzy way we think?
Of course, what I mean is that you think like a programmer, which is not
meant to be insulting, as I am sure it might be construed, although probably
not by someone who thinks like a programmer, which is a good way for a CIO to
be thinking. Now that would be different from the fuzzy, human way you would
start to think, say, when you are confronted by a beautiful girl.
Well, Doc. Youre right about that. I cant think straight at
all when I meet a beautiful girl. I think I chose think like a computer
because it sounds better than saying has learned to simulate a computing
machine mentally. Maybe it would be better to say, programmers are humans
who can buildand runa virtual computer in their minds.
And sure enough, you do have software going wrong many a time, Bobo. But
what you see in the computer is, nonetheless, a condensation of the human mind
put to work with a lot of discipline. Even mentally simulating a virtual computer
is hard work. More poetically, you could say that programmers build bridges
between the human world and the machine world. Imagine the physical effort of
trying to move a welding torch in exactly the same path a robot would usewith
no bumps, no jiggles, no wavering speeds. After half an hour of that, any man
would rather want to go out and babble fuzzy nonsense before a beautiful girl.
Thats impossible for me to do, Doc. You know, we techiesor
nerds, to use a popular termare tongue-tied when it comes to making conversation
about anything other than technnology.
Ah, Bobo, do not apologise for your nerd lineage. It is great to be a
nerd at this point in history. Nerds created the Internet. Well, you guys created
computers and electricity to begin with. Nerds also create cell phones, space
communication satellites, even TV, which has turned most people into bug-eyed
zombies. Thinking of how much all of these things have changed the world in
the last 100 years, I think it is safe to say that nerds are a dominating, if
not ruling species. So it is special now to be a nerd.
Well, Doc, that is reassuring. And I used to think my back office boysmy
legion of programming nerdsare always getting a raw deal.
Voila, you comprehend. In most cases it is often a vast army of anonymous
nerds, who do their labour quietly while a company like Bazooka is represented
to the public by business managers, lawyers and marketing. The nerds typically
have to sign a contract where they are forbidden to talk about what they are
doing there, but we know they are the ones to thank for everything.
|