Picture This: Visual Programming
Software developers simplify PC programming by shifting from complex codes to graphic cues
IT'S one of the ironies of the high-tech age. As personal computers have gained in popularity, computer programming has fallen by the wayside. Fifteen years ago, home-computer users had to program their machines to make them work. Today, most users avoid programming. People can do such sophisticated things with off-the-shelf software that they don't try to work outside these specialized packages. If they do write a program, it often runs only on their particular machine and becomes incompatible when new versions of software come out.
Thus, users are losing a great deal of flexibility.
``Unlike a toaster or a VCR, you can make a computer do anything if you know what you're doing,'' says Brad Myers, a computer researcher at Carnegie-Mellon University in Pittsburgh.
A number of researchers, software companies, and computer makers are out to make programming so easy that even a novice could quickly put together sophisticated routines.
Several kinds of projects are under way. For example:
Researchers at Washington University in St. Louis are looking at how children use computers. By the turn of the century, a child could tell a computer equipped with telephone, fax, and other capabilities to call his mother or, if she's not there, his father, or, if he's not there, his teacher.
"This is a simple program and the kids should be able to write it," says Takayaki Kimura, a computer-science professor at the university. "Eighty percent of the population should be able to use computers instead of the 10 to 15 percent who now use them."
Dr. Kimura created an all-graphics programming language for children called Show and Tell five years ago, but it was never commercially distributed.
Software and computer companies are creating new tools to make programming easier. The latest entry comes from Borland International of Scotts Valley, Calif., which last month began shipping a new software program called ObjectVision. It uses diagrams to eliminate a lot of the words in traditional programming (see boxed story).
Here in Pittsburgh, a Carnegie-Mellon University researcher has created a simplified programming language, called cT, which can be used on any type of personal computer. A New Hampshire company, Falcon Software, plans to start selling a new version of cT this summer.
In one way or another, all these efforts rely on a concept known as visual programming. The idea is to make one picture or diagram worth many lines of computer code. Although this concept has been around for more than a decade, such products have begun to appear only in the last four or five years.
RESEARCHERS don't expect pictures to eliminate all the words in computer programs. Instead, they predict a marriage of the two and, eventually, the addition of voice commands to make a computer do what people want it to do.
Already, many users who are not specialists are putting together sophisticated programs without knowing it.
"They actually accomplish in a day what it used to take a group of grumpy COBOL computer programmers a week" to create, says Dennis Gannon, research director of the Center for Innovative Computer Applications at Indiana University in Bloomington, Ind.
But this kind of programming is limited to particular software. One common programming method is to record macros. That means pressing a series of keys and letting the software "remember" them. Macros are standard features in word-processing, spreadsheet, and database software. They vary from program to program, however, and can't be used outside the particular software. Thus, a user may be an absolute whiz inside a word-processing program and a klutz outside of it. To master, say, a spreadsheet program , the user typically has to learn a whole new language and procedure.
Several software programs link up various similar applications. But to manipulate widely differing sets of data, users will need a programming language that is simple to learn.
That day is coming, says Dr. Myers of Carnegie-Mellon. "In 10 years, maybe five years, you will see a general-purpose programming language for several applications."
Dr. Sherwood's cT language is a step in that direction.
"What we have tried to do is make the world safe for programming again," he says.
The language can be used on IBM-compatible machines or Apple Computer's Macintosh. It has modest graphics capability. (It can draw a box on a screen, for example, with two clicks of a computer mouse.) The language also writes the source code as the user draws the picture.
That's important, Sherwood says, because programmers need to be able to work with written commands in long and complex programs, which graphics systems cannot easily represent.
A simpler programming language won't eliminate the current languages, these researchers add.
Professional programmers who have invested years in learning such languages as C, Pascal, and Fortran are not likely to switch over to something new, says Steven Tanimoto, a computer-science and engineering professor at the University of Washington in Seattle.
"It's like you were raised in a certain religion," he says. "Things don't change easily."