Stand-up computer programming. Bill Budge.
The trouble with computers today is that they are for "squares." To make a computer do something exciting, you have to put in hours of painstaking work at a keyboard. Computer programmers are not rock stars. Crowds don't gather to watch them type, because during most of the time that they are working nothing interesting seems to be happening. Instead of jamming, programmers spend much of their time concentrating on tiny details. And for good reason, for in their world, the slightest offense can have disastrous consequences.
This drudgery makes programming look a lot like accounting. In fact, programmers and accountants are very similar: they are people who enjoy the systematic analysis of puzzles and problems. Typically they are careful, logical, thorough, conscientious, and deliberate--in a word, square. To some people this is a turn-off.
There is nothing wrong with squareness. Everyone has some tendencies to squareness (it is highly desirable in your doctor or auto mechanic, as well as your accountant), but most people have another side as well, one that is emotional and intuitive. Real people trust their feelings. They wing it. They break a few rules and recover from their mistakes. They play fast and loose, get in the groove, and have some fun. Just as there is a time and place for square values, there are situations in which the groovy side can be powerful and effective.
The problem is that computing is hardly ever groovy. Squares build the hardware and the software, which tends to reflect their square values and to entrench them further. This creates a barrier for groovy types; if they wish to use this new tool, they must embrace an alien ethic. To one who grooves, a journey through the square world of rules and logic is frustrating, boring, a drag.
One of the most exciting things about the personal computer, indeed what really makes it a revolution, is that large numbers of groovy types have crossed over into the square world, at least for a while, in order to make new tools and toys for themselves. They are artists, and they have suffered in the square world, but their work is breaking down the barriers to computing for the masses.
The first programs to reach into the groovy dimension were sketchpads, music synthesizers, and video games. With these programs it is possible to groove at the computer, to become connected with it. Millions of people with no computer experience have become involved with video games, because to be good at Defender or Pac-Man is to understand the essence of grooving. And while squares can't understand what people would use MacPaint for, everyone else picks it up and immediately begins to churn out pictures, announcements, maps, and even works of art.
This is what the personal computer revolution is all about. The repercussions are being felt even in that bastion of squareness, the world of mainframes and data processing, where users are suddenly asking why their programs can't be as fun and easy to use as the ones on PCs.
But people who can straddle the gap between the square and the groovy are rare, and there aren't enough great pieces of software yet. What is really needed is to inject programming into the groovy dimension, to provide the tools that let everyone exploit the power of a computer. The computer is the best toy ever, and people should be able to play with it with no constraints.
This is a terribly hard problem, because programming was invented by squares for squares. The groovy side has nothing explicit to say about it because in the groovy world there is nothing quite like a program. But the groovy world does contain a great wealth of useful concepts and ideas with which everyone is familiar. Could this wisdom be tapped to create metaphors for programming?
One metaphor has been suggested which is particularly apt and can be stretched very far. It is that programming is theater. Perhaps someday there will be a program that allows people to choreograph video games, script their own adventures, and create and employ software actors as their agents. It is quite clear, however, that most people will never become skilled at using any existing programming language, not even Basic or Forth or Smalltalk. This is something the squares don't understand.
Unfortunately the language of the computer medium hasn't been invented yet. It remains a dream. It will be invented, though, and we will get to see it, just as people early in this century witnessed the birth of the language of movies. The home computer is still largely a curiosity just as movies were once a nickelodeon novelty.
It is waiting for its D. W. Griffiths, its Charlie Chaplins. It will have them. Because its strength is its interativity, it will be a medium of play. It will be a medium of grooving, too, both for its artists and its audience of users. And who knows, someday we may even find ourselves applauding a stand up computer programmer, the Robin Williams of software.