Each September, Scientific American pulls out all the stops to put out a big and snazzy special issue focusing on some hot area in the scientific community. Past Septembers have starred the brain, information, industrial biology and microprocessors.
The issues feature articles by scientists who are the cre me de la cre me of their fields. Although Scientific American's editors often have the unfortunate knack of breathing ennui into even the most exciting of subjects, the issues are usually first-rate and offer a comprehensive survey of the topic.
With a quibble or three, this September's issue on computer software is similarly solid. The roster of computer scientists putting word processor to paper is impressive: Alan Kay, late of Xerox and Atari, now of Apple Computer; Douglas Lenat of Stanford University, one of the brightest minds in artificial-intelligence research; Stephen Wolfram, the young mathematician at Princeton's Institute of Advanced Studies who has one of the MacArthur Foundation's "genius grants," and several others whose names are instantly recognizable in the software fraternity. (I say fraternity because there are few well-known women in software and no woman authors in this issue.)
The articles range from a lyrical vision by Kay of what software is and could be to an overview of computer languages by one of the creators of the Apple Macintosh to computer graphics, process control and artificial intelligence.
Now, while phrases such as "computer revolution" and "information age" have decayed from snappy headline to dismal cliche', it's important not to forget that software is shaping the future of work and how people express themselves. Getting a good grasp of what software really is is like putting one's arms around a thought. Software is more than lines of code crunched through the silicon pathways of a chip. It is a means of expression, and a medium in its own right -- and that's why this issue of Scientific American merits its $2.50 price .
As Kay says in his article-cum-essay: "Computers are to computing as instruments are to music. Software is the score, whose interpretation amplifies our reach and lifts our spirit. Leonardo da Vinci called music 'the shaping of the invisible' and his phrase is even more apt as a description of software. As in the case of music, the invisibility of software is no more mysterious than where your lap goes when you stand up."
That's not quite true -- as this issue of the magazine amply demonstrates. Software is the complex interrelationship of thought, technology, data structure, operating system and display. Kay's article -- and one by Larry Tesler of Apple Computer on programming languages -- artfully illustrates just how vast a concept software can be. Kay talks about little software "agents" that scurry back and forth between human and program to retrieve precisely what the human wants -- an "artificially intelligent" interface. Tesler briefly describes a language called "Mandala," an effort to have a computer language in which the commands and processes are represented by pictures.
Those reports offer a view of where software may go. Doug Lenat's article on artificial intelligence sums up where the state of the art can now be found, and Andries van Dam's piece does much the same for computer graphics (and is nicely illustrated).
Articles on data structures and operating systems are a bit dry (although there are a few sparks of interest in the latter), and the other topics discussed are more than adequately presented.
Although the articles are workmanlike, there are a few gaps in coverage and direction. Software does not exist in a world of static hardware. To borrow from Kay's analogy, the violin of 1984 may be virtually identical to the violin of 1784, but the computer hardware of 1984 is going to be quite a bit different from the machines of 1994. Hardware and software (like music and its instruments) are ultimately inseparable. Not to discuss hardware was a mistake.
A specific example: There is much talk today about how we will see multiprocessor computers rather than the commonplace single-processor computers we have today. Many computer scientists say that means we will have computers processing information simultaneously and in parallel, rather than just in a linear, sequence. Parallel structures will demand a different kind of software. How come that isn't really discussed in this issue?
An article about how different interface devices and displays (mice, touchpads, joysticks, etc.) can affect the nature of software design also might have been appropriate.
That aside, what this issue does is present in a tidy package a very thorough report on what computer software is and what it means. Owners of personal computers who want a sense of the new potential of their machines will find the issue of great interest. So will executives who want to get a bluffer's guide to what those people in the data-processing room are doing.
First and foremost, though, remember that Scientific American is less concerned with applications of science than with the science itself. You get a real taste here of what computer scientists think of what they do. You get a glimpse of the subculture that is laying the groundwork for the next generation of software -- the stuff beyond Lotus 1-2-3 and Basic and Fortran.