Tags: adders, american scientist, anniversaries, architec, basic architecture, brian hayes, building blocks, casion, computing science, electronic mail, eniac, imminent birth, john von neumann, microprocessor, research triangle park, research triangle park nc, sigma xi, single processor, triangle park, vacuum tubes,
COMPUTING SCIENCE
REINVENTING THE COMPUTER
Brian Hayes
A reprint from
American Scientist
the magazine of Sigma Xi, the Scientific Research Society
Volume 85, Number 1
JanuaryFebruary, 1997
pages 1620
This reprint is provided for personal and noncommercial use. For any other use, please send a
request to Permissions, American Scientist, P.O. Box 13975, Research Triangle Park, NC, 27709,
U.S.A., or by electronic mail to perms@amsci.org. Entire contents © 1996 Brian Hayes.
COMPUTING SCIENCE
REINVENTING THE COMPUTER
Brian Hayes
he computing profession has been celebrat- form in their basic architecture--the way they are
T ing birthdays--the 50th of the ENIAC, the
25th of the microprocessor, the 15th of the
IBM PC (not to mention the imminent birth of HAL
assembled from logical building blocks such as
registers, adders and instruction decoders. Nearly
all computers in widespread use today are recog-
on January 12, 1997). The anniversaries offer an oc- nizable descendants of the von Neumann architec-
casion for looking back and marveling at how ture, named for John von Neumann, who first de-
swiftly computers have changed. Room-filling scribed it in 1945. They have a single processor, a
racks of vacuum tubes have collapsed into a sliver memory that holds both data and instructions for
of silicon. A few dollars at Toys R Us buys more the processor, and facilities for input and output.
computing power than all the world possessed in The longevity of the von Neumann architec-
1950. Punch cards, teletype machines and video ter- ture is surprising and interesting, but I want to
minals are all long gone; now we point and click. consider the computer at a somewhat higher lev-
But these dazzling transformations in technolo- el of abstraction. The ordinary computer user, sit-
gy, economics and the human interface may blind ting down to write a memo or recalculate a
us to aspects of computing that have changed little spreadsheet, does not think of the computer as
over the years--aspects that may in fact be overdue an assemblage of registers and logic gates. Nor is
for rethinking. There is much about the modern it perceived as a box full of silicon chips and sol-
computer that would have been familiar to the de- der joints. For the typical user, the fundamental
signers of the ENIAC and the EDVAC in the 1940s. elements of the computer are less-tangible enti-
Indeed, computers seem to grow steadily more ho- ties, such as files, programs, windows, menus, di-
mogeneous as the years go by, crowding into one rectories, documents. These are the objects we
small corner of a multidimensional "design space." work with when we work with computers. Here I
Perhaps there is a good reason for this trend toward want to focus particularly on files and programs.
uniformity--perhaps this one tight cluster of de- A file is the basic unit of information storage in
signs is where all the best ideas are found--but it almost all modern computers. For most of its life, a
seems worthwhile making at least a brief survey of file sits inertly on a mass-storage medium such as
some of the unpopulated wilderness areas else- a magnetic disk. In this condition, the contents of
where in the computer design space. the file are inaccessible. To get at the information,
you have to open the file and copy it into random-
Religious Wars access memory (RAM). Once the file is open, you
Of course computers are not really all alike. You can read or display it. You can also alter it, but
get to choose: Macintosh or Windows or Unix, your changes will be preserved only if you then
or perhaps something slightly exotic, like NeXT, save the file, writing it back onto the magnetic disk.
OS/2, Amiga, VMS, BeOS. I cannot claim neu- Another important fact about files is that they
trality in the ongoing hostilities among these fac- have names; you can't create a file without nam-
tions; I have my own partisan loyalties. And yet I ing it, and generally speaking you have to know
cannot help wondering, when I take a few steps the name--or at least recognize it when you see
back from the fray, if the present battle for domi- it--in order to find the file again.
nation of the desktop will not seem to later gen- A computer program, from one point of view,
erations about as compelling as the War of Jenk- is just a special kind of file. It also resides inertly
ins's Ear. Looked at from a certain height, most on disk most of the time, becoming active only
computers are very much alike. when loaded into RAM. And, as with other files,
And it's not just that they look alike. (Some of you need to know a program's name in order to
them come in gray boxes now instead of beige!) invoke it. But a program is executed, or run, rather
Under the skin, computers are remarkably uni- than opened; it is a file whose content is "machine
code"--instructions for the processor that are
Brian Hayes is a former editor of American Scientist. generally indecipherable by the human reader.
Address: 211 Dacian Avenue, Durham, NC 27701. Internet: Programs and other files are usually organized in
bhayes@amsci.org. a treelike hierarchy of directories, or folders. Each
16 American Scientist, Volume 85
folder can contain not only files but also other fold- This is not to be taken as evidence that users are
ers, which can contain still more deeply nested fold- losers; on the contrary, it is a hint that something is
ers, and so on. This "file system" is what is in the awry with the underlying concepts. Perhaps the
computer, from the user's point of view. flaw is in the desktop metaphor that dominates
The concepts of file and program are surely fa- most modern computer interfaces. After all, if you
miliar by now to schoolchildren everywhere and leave a draft of a letter on a real desktop overnight,
to most of their parents. Indeed the ideas are so it doesn't vanish when you turn the lights out.
much taken for granted that it's hard to imagine Files bring further problems. Naming them--
what a computer would be like without them. even if your computer allows you more than 8 + 3
But it's worth trying. characters--can be an irksome chore. (In the pa-
per-and-pencil world, you don't have to dream
Lost in the Files up a name for every letter or memo you write.)
Why do files exist, anyway? Look at it from the You also have to decide where to put a file in the
program's point of view. While a program is run- directory structure. Should you organize your
ning, it can create all kinds of fancy data struc- correspondence chronologically or alphabetical-
tures--arrays, lists, sets, trees, queues, etc.--but ly? A year later, when you've forgotten both what
they all disappear the instant the program exits. you named the file and where you put it, you dis-
The internal data structures are like the thoughts cover the final drawback of file systems: the agony
or memories of a living person; they do not sur- of retrieval. Even if you know where you're going
vive after death. Actually, the program's predica- in the tree of folders, getting there may require a
ment is even worse, because a program dies and long, tedious sequence of mouse clicks.
comes back to life repeatedly; each time it runs, it Files, folders and the desktop metaphor were
starts with a blank slate. It is as if each night all liberating innovations when they first ap-
when you went to sleep, you forgot everything peared. The trouble is, they don't scale well. If
you ever knew. To cope with such recurrent am- you have only a few hundred files, organization
nesia, you might try leaving yourself a note is easy: You can keep everything on a handful of
where you could find it in the morning. That's floppy disks. With a few thousand files, hierar-
what a program is doing when it creates a file. A chical folders work well. But after a decade or
file is a program's way of communicating with two of living in close symbiosis with a computer,
its future self. you accumulate tens of thousands of files, and
Historically, the reading and writing of files they become a management challenge. Personal
have been viewed as input and output opera- archives of gigabyte size are no longer unusual,
tions. In the early years, files were stored on reels and the really big data sets--including those col-
of magnetic tape, which had to be mounted by lected by astronomers, geophysicists and others
hand when needed. Thus the files were clearly in the sciences--are soaring beyond terabyte ter-
external to the computer, just as a written memo- ritory into the petabyte range. You would not
randum is external to your own memory. But the want to explore 1015 bytes of files by clicking
boundary between inside and outside is not so through nested folders. The nature of the prob-
sharp today. A disk file may well live inside the lem is already clearly illustrated by the huge hi-
same plastic box as the processor, so that writing erarchical file system called the World Wide Web.
a file no longer really seems like "output." On I am not the only one who sometimes consults a
the other hand, you may have instant access to search engine such as Lycos or AltaVista to find a
files kept on a server down the hall or on a Web document whose location I already know; the
site across the continent, so that the whole ques- search is simply quicker and easier than clicking
tion of where information is stored no longer my way through a series of linked pages.
seems entirely germane. And if you needn't care
whether a file is stored on a local disk or a re- Persistence
mote one, why should you have to keep track of One response to these problems is to graft a new
whether it is on disk or in RAM? interface onto the file system. Utility programs
One answer to this question is that RAM is that index and search for files have been prolifer-
"volatile": It goes pffft when you pull the plug, ating, as have other shortcuts that keep recently
whereas magnetic disk memory endures until it is used or frequently used files ready at hand. The
erased. But this distinction also gets muddled. In a most sophisticated of these techniques can create
computer with virtual memory, information that whole new views of the file system on the fly. For
appears to be in RAM may actually reside on disk; example, even if you routinely organize your cor-
conversely, with a "RAM disk," files that seem to respondence chronologically, you could summon
be safely on disk are actually held perilously in up a "virtual directory" of all your letters sorted
RAM. No wonder that newcomers to computing by recipient. (Virtual directories are an invention
often have trouble understanding the difference of David K. Gifford and his colleagues at MIT; sev-
between permanent and ephemeral memory. eral other groups have explored related themes.)
They labor to create their first computer docu- The more radical approach is to abolish the file
ment, and then forget to save the file before system altogether, and with it the distinction be-
switching the machine off at the end of the day. tween permanent storage and ephemeral memory.
1997 JanuaryFebruary 17
Figure 1. "Lifestreams" organize personal documents chronologically. (Image courtesy of Eric Freeman.)
Why should files alone have eternal life? Why programming languages but also from database
can't you jot down an address or a phone number theory. This connection is not surprising, since a
and have the note survive, without having to database is, in one view, a large collection of per-
name it and put it someplace in particular? Why sistent, unnamed objects.
should every reminder, doodle or Web clipping The key idea in a persistent-programming sys-
require its own named slot in the storage bin? tem is to make longevity an "orthogonal" proper-
Looked at from the programmer's point of ty of data objects; in other words, the same rules
view rather than the user's, the issue here is the for determining lifetime apply to all types of data,
persistence of data structures. The alternative to a from the simplest numeric variables to the most
file system is to give every program the ability to complex record structures. Every object is poten-
create objects--a bit of text, say, or a record repre- tially immortal; its actual lifetime is determined
senting your rent check--that remain intact after by an algorithm that throws things away when it
the program has finished running, or even after can prove they will not be needed again.
the computer has been turned off. When the pro- To make persistent programming work, long-
gram starts up again, the objects are present in lived data have to be moved at some point to a
memory just as if there had been no interruption. nonvolatile storage medium, and obsolete data
Several programming languages have long of- must be purged from permanent storage. But
fered a form of persistent data. Smalltalk and neither the programmer nor the user of the sys-
APL, for example, allow you to save a "world" or tem need be aware of these movements. It is
a "workspace" and then later reload it, restoring rather like the constant shuttling between disk
all variables and other data to their previous and RAM in a virtual-memory system, which
state. But this is an all-or-nothing approach. also takes place behind the scenes.
More flexible techniques for working with per-
sistent data have been a research topic in com- Filelessness
puter science for more than a decade. Research At least one mass-produced computer incorpo-
has been particularly active in Scotland, where rates a persistent-object system. It is the Newton
persistent-programming systems have been de- MessagePad, a hand-held "personal digital assis-
veloped by groups at the universities of Edin- tant" made by Apple Computer. Data objects in
burgh, Glasgow and St. Andrews. Their work the Newton live in a "soup" (that's the technical
has drawn on ideas not only from the theory of term), where they do not have to be named or
18 American Scientist, Volume 85
deposited at a specific place in a hierarchy of doc- the lower-level software that actually communi-
uments. For example, when you scribble notes cates with the disk drive, files do not exist.
on a Newton--and "scribble" is the right word, Furthermore, fileless computers are all around
since you write with a stylus instead of a key- us; we just don't notice them much. They are the
board--every page goes directly into the soup. "embedded" computers that run appliances, au-
Later you retrieve a note by searching for any tomobiles and even some of the peripheral de-
word or phrase it includes. Documents can be vices (such as modems and keyboards) attached
filed away if you wish, but there is no compul- to other computers. Few embedded computers
sion to do so. Nothing is forgotten unless you ex- have any need for a file system.
plicitly delete it; everything in the soup is equally
accessible at all times. Deprogramming
Another vision of fileless computing comes Perhaps we can hope to abolish files, but pro-
from the work of Eric Freeman and David Gelern- grams are not to be swept away so categorically.
ter of Yale University, who have invented a soft- A computer without programs is like a car with-
ware system they call Lifestreams. In the Life- out fuel: at best an object of quiet contemplation.
streams model, documents are arranged in the Nevertheless, there may well be opportunities to
simplest way possible: a one-dimensional, chrono- change the way programs are built and distrib-
logical sequence. Everything you might ever look uted, and the way they cooperate with one an-
at on the computer screen--incoming and outgo- other. Under present practice, a program is an in-
ing e-mail messages, manuscripts, pictures, video divisible, monolithic, opaque hunk of machine
clips, perhaps programs too--is stacked up from code, which must be swallowed whole or not at
oldest to newest in one giant heap. At the source all. It is a black box, which accepts inputs and
of the stream are your earliest records, going back produces outputs, but which cannot be opened
perhaps to your "digital birth certificate." Current up to see (or change) how it works.
documents are at the front. The stream can even A new software technology offers hope of
extend into the future to hold documents that you greater flexibility: It may not pry the lid open, but
will need someday, such as reminders. it could divide the one big box into several smaller
At first, the Lifestreams model looks like an boxes we can rearrange as needed. The govern-
exceptionally primitive file system, without even ing metaphor is the component audio system. Just
the amenity of hierarchical directories. But the as you hook up a tuner from one manufacturer
documents in the Lifestream are not files. You with an amplifier from another and speakers from
don't have to name them (although you can if a third, you should be able to link together soft-
you wish). You never have to save them; they are ware components from different sources, and
retained as persistent data. You needn't find a have them all work on the same document.
place for them in a tree of directories; they are This basic idea has been known under a vari-
sorted automatically according to creation date. ety of names, but recent attention has focused
But what about the problem of retrieval? If you mainly on two schemes called OpenDoc and Ob-
wish, you can browse forward and backward ject Linking and Embedding (OLE), introduced
through the chronological stack of documents, by Apple and Microsoft respectively. What they
but the main means of access is through indexing offer amounts to a change of perspective. Today
and searching. You find documents by issuing a the program is the central fixture around which
query, rather like a command in Go Fish!: "Give the computing universe revolves; you launch a
me all your letters to Bill written after November program and then use it to create or edit various
5." In response to the query, the system creates a satellite documents. OpenDoc and OLE are
substream consisting of just those documents meant to put the document rather than the pro-
that satisfy the stated criteria. In this respect the gram in the middle; you create a document and
Lifestreams system is much like a database, but operate on it with whatever programs are need-
there is a further refinement. The substream itself ed, calling on different software components for
is a persistent object, which remains active indef- working with words, pictures, calculations, etc.
initely. If you later write another letter to Bill, it The idea of combining many small programs
will automatically appear at the head of the sub- to accomplish a task is hardly new. The Unix
stream as well as on the main Lifestream. community has long favored "little" programs
Freeman has built Lifestreams prototypes for called filters, which can be linked in sequence.
Unix workstations and also, significantly, for the But Unix filters are largely confined to working
Apple Newton. on text files, with a very simple interface between
The idea of a computer without files is not as one program and the next. The new schemes are
big a departure as it might seem. In the first place, meant to allow tighter integration of programs
files are an abstraction, or even an illusion, in and a more interactive style of computing.
modern computers. We may imagine that a file Even if OpenDoc and OLE live up to their
occupies a definite place on a disk, adjacent to promise, something vital remains missing. What
other files in the same folder. In reality, the disk distinguishes the computer from other machines
sectors that comprise any given file can be scat- is its programmability, but few users ever write a
tered randomly over the surface of the disk. For program. No doubt the main reason is that few
1997 JanuaryFebruary 19
are inclined to learn the arcana of the program- manager could get excited about. This seems to
mer's art, but it's also fair to say that most cur- be the way that technologies evolve and mature.
rent computer systems do not encourage tinker- Look back at the early history of the automo-
ing. A word processor or a spreadsheet comes bile. At the outset there were cars propelled by
with the software equivalent of a sticker that steam, by electricity, by diesel and gasoline en-
reads: "No user-serviceable parts inside." If you gines; there were two-wheelers, three-wheelers
don't like some detail about how the program and four-wheelers; some were steered with a
works, your only option is to write a new one tiller and some with a wheel; some had hand-
from scratch. brakes and some footbrakes; the engine might be
OpenDoc and OLE will not change this situa- in front or in back or in the middle. That diversi-
tion substantially for Macintosh and Windows ty has disappeared. Apart from rare industry up-
users. Writing an OpenDoc or OLE component heavals--such as the switch from rear-wheel to
will not be much easier than writing a stand- front-wheel drive some years back--cars don't
alone program. The Unix world has traditionally change much. Today there are many makes of
been friendlier to the inquisitive or meddlesome automobiles, but few choices in technology.
programmer. At one time every Unix system Radio has gone through a similar loss of
came with complete source code, as well as the species diversity. Radio enthusiasts of the 1920s
compilers and other tools needed to rebuild or could choose among the regenerative, the super-
modify the system. But today most commercial regenerative and the superheterodyne circuits.
Unix systems do not include source code, and But one of those designs (the superheterodyne)
programming tools are an extra-cost option. (The drove the others to extinction. What is more to
remarkable Linux operating system, which be- the point, no one today takes the least interest in
gan as the project of a single young programmer, how a radio works. (If you go to a store to buy
Linus Torvalds, probably owes part of its popu- one, don't bother asking the clerk if it has a su-
larity to its distribution with full source code.) perheterodyne circuit.)
The computers that most clearly invited tin- Will the computer meet the same fate? Will it
kering were the "Lisp machines" of the 1970s become an appliance or a commodity? Will it, in
and 80s. Virtually all of the software for these other words, become boring? That's the direction
computers was written in Lisp and was open to the industry is heading in, but I can see two glim-
inspection and modification. The rule was: If you mers of hope. The first glimmer is institutional:
don't like the way it works, shut up and fix it. For Computer science, as a discipline, is gleefully
a while two companies (Symbolics and LMI) undisciplined; there is still plenty of willingness
were making rival Lisp machines; both compa- to explore the occasional screwball idea. The sec-
nies failed, although Symbolics has lately come ond glimmer is theoretical: The computer has a
back from the dead. There have been a few other protean quality not shared by any other machine,
attempts to build a language-centered computer. certainly not by automobiles and radios. Just
The Xerox Palo Alto Research Center created sev- about any computer can put on a convincing im-
eral machines programmed in Smalltalk; the personation of any other computer. This talent
Lilith computer, created by Niklaus Wirth, was for emulation commonly allows a fancy Macin-
based on Modula-2. tosh or Unix workstation to masquerade as a
The commercial failure of Lisp machines is plain-vanilla Windows machine, but it can work
generally attributed to an economic squeeze: The the other way around as well. Perhaps we will all
generic hardware of mainstream computers soon end up with the most prosaic of computers, but
offered better performance for less money, even some of them may lead secret lives of adventure
for programs written in Lisp. And yet the dream and romance.
of a single language for all computers will not go
away. The latest embodiment of this ideal is the Bibliography
Java computer. Java was conceived as a language Adler, Richard M. 1995. Emerging standards for compo-
for programming "set-top boxes," the devices nent software. IEEE Computer, March 1995, pp. 6877.
that are meant to bring interactive network com- Atkinson, M. P., P. J. Bailey, K. J. Chisholm, P. W. Cockshut
puting to your television set; the language has and R. Morrison. 1983. An approach to persistent pro-
gramming. The Computer Journal 26:360365.
since experienced a tremendous surge of interest
Freeman, Eric. 1995. Developers corner: Lifestreams for
as a medium for distributing "applets," or small the Newton. Mobilis: The Mobile Computing Lifestyle
application programs, over the Internet. Several Magazine.
interpreter built in, and specialized hardware for Freeman, Eric and David Gelernter. 1995. Lifestreams: A
running Java programs is under development. storage model for personal data. ACM SigMOD
Bulletin 25(1):8086.
The Secret Lives of Computers
Gifford, David K., Pierre Jouvelot, Mark A. Sheldon and
Most likely, none of these radical new ideas--nor James W. O'Toole, Jr. 1991. Semantic file systems. In 13th
the radical old ones!--will catch on. It's a good bet ACM Symposium on Operating System Principles, October
that computers will grow more and more alike, 1991.
20 American Scientist, Volume 85