Incantation Programming

#incantationprogramming

The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be…. The computer resembles the magic of legend in this respect, too. If one character, one pause, of the incantation is not strictly in proper form, the magic doesn’t work. Human beings are not accustomed to being perfect, and few areas of human activity demand it. Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program. ~Frederick Brooks

Are systems becoming easier to use?

I remember when I assembled my first PC a long time ago. There was no operating system, just a brick with switches in front, and inside was a very simple 8-bit processor. To program, I had to enter one eight-bit code using the switches, one byte at a time. Nobody else at home could use it except me, and its usefulness for anything other than assembly programming fun was dubious at best. I was so proud of the day when I programmed it to play the bumble-bee tune.

Fast forward to today, and I am typing on a respectable Surface tablet, whose usefulness cannot be doubted. The difference between that old 8-bit system and the Surface is mind-boggling: 8 bits versus 64, 1 kilobyte of main memory versus 2 gigabytes, front-panel switches versus a full keyboard that also doubles as a cover, 10 kilograms versus less than a kilogram in total weight, LED lights versus a high-resolution screen, and on and on.

In terms of software, the contrast is even more mind-boggling: no operating system versus one that is more complicated than that run on mainframe systems a couple of decades ago. A programming system that makes it easy to churn apps for any task imaginable.

Clearly we have progressed so far. Or have we? Sometimes I have my doubts, like when I was explaining to my sister (who is almost as old as I am) over the phone how to drag-drop a file from a folder to dropbox.com. She got it done, but I felt that the only proper way to teach her was for me to take control of her PC remotely. Why can’t she just do it using voice commands? “Move file X from PC folder to dropbox.com.”

Voice commands now work too, but there is a catch. You have to be very precise in your “incantation”. Wrong incantation, and you get the wrong results. This makes our computer manuals no different from sorcery books. May be there’s a better way to communicate with computers, but for now precision of language is most important.

Of course precision of language is also important in the practice of law. I believe this is why lawyers love their laptops and tablets too.

Advertisements

About ctapang

I am a Software Design Engineer. I have just abandoned the huge army organized to make .Net programming the one dominant programming system. I now program in Typescript which (surprise) is also from Microsoft. Aside from my day job as a programmer, I am also involved in a movement (http://correctphilippines.org) to correct the Philippine constitution. It's an ambitious undertaking in itself, and there's no guarantee that improving our constitution will improve things. However, one thing is certain: if we don't establish a rational constitution, we will continue on our path of self-destruction. What kind of government is best? For me the best government is that which governs the least. We need the government not because it can provide for us but because it keeps us from running into each other. The proper function of government is that of a traffic light: it prevents us from bumping each other, but it does not tell us where to go.
This entry was posted in Computers and Internet. Bookmark the permalink.

2 Responses to Incantation Programming

  1. Gabe says:

    …well I guess that’s the next step – computers being able to recognize all the possible ways you can ask to perform an action

    • ctapang says:

      Yeah, may be if a command is ambiguous, the computer can ask “did you mean this, or that?” This would be very difficult for the programmer because she would have to consider all the possible meanings of an incantation.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s