September 1991 - Vol. 34 No. 9

September 1991 issue cover image

Features

Research and Advances

From under the rubble: computing and the resuscitation of Romania

How does an entire country return to life? The dictatorship of Nicolae and Elena Ceaucescu turned Romania into a political, social and economic wasteland that was vividly pictured in the world media after the overthrow of the Stalinist couple in December 1989. Their regime left the country in shambles: with an old or mangled physical plant, a currency worthless abroad and nearly worthless at home, a legacy of secret police abuses, terrible health and sanitary conditions, and a highly centralized, warped, and inefficient scientific and industrial infrastructure.
Opinion

How the Nintendo generation learns

Recently, I was chatting with my son, Daniel (age 7) about Nintendo. I asked him if he could bring it in to school for show and tell and he was horrified! “No,” he exclaimed, “that's not for learning.” Well, what do you, dear reader, think about that? Is Nintendo for learning? No one is watching/listening … go ahead … admit it … You don't really like Nintendo. (Of course, when you play Tetris, that is exercising problem-solving skills. Right.) And, afterall, you didn't use all that technology in school, and you learned just fine. So, why do “kids these days” need all this new multimedia technology, anyhow? That technology just makes it fun and easy to learn—it's just glitz. And as for calculators.....
Research and Advances

CLOS: integrating object-oriented and functional programming

Lisp has a long history as a functional language,* where action is invoked by calling a procedure, and where procedural abstraction and encapsulation provide convenient modularity boundaries. A number of attempts have been made to graft object-oriented programming into this framework without losing the essential character of Lisp—to include the benefits of data abstraction, extensible type classification, incremental operator definition, and code reuse through an inheritance hierarchy. The Common Lisp Object System (CLOS) [3], a result of the ANSI standardization process for Common Lisp, represents a marriage of these two traditions. This article explores the landscape in which the major object-oriented facilities exist, showing how the CLOS solution is effective within the two contexts.
Research and Advances

The philosophy of Lisp

We consider here the importance of an overall systems viewpoint in avoiding computer-related risks. According to Webster's, a system is a regularly interacting or interdependent group of items forming a unified whole. In computer systems, one person's components may be another person's system, and one person's system may in turn be one of another person's components. That is, each layer of abstraction may have it own concept of a system. We speak of a memory system, a multiprocessor system, a distributed system, a multisystem system, a networked system, and so on. A system design can most effectively be considered as a unified whole when it is possible to analyze the interdependent subsystems individually and then to evaluate, reason about, and test the behavior of the entire system based on the interactions among the subsystems. This is particularly true of distributed systems that mask the presence of distributed storage, processing, and control. At each layer of abstraction, it is desirable to design (sub)systems that are context-free, but in reality there may be subtle interactions that must be accommodated—particularly those involving the operating environment.
Research and Advances

CLIM: the Common Lisp interface manager

The essence of an application is a set of objects and a set of operations on those objects. The essence of the behavior of an application's user interface is similar to Lisp's read-eval-print loop: the user specifies what he or she wants to do (perhaps via a menu or a dialog or a direct manipulation), the application performs the operation, and then the result of that operation is displayed. The Common Lisp Interface Manager (CLIM) is a system for constructing portable users interfaces in a way that directly connects the objects and operations of an application to the objects of its user interface.
Research and Advances

LispView: leverage through integration

Although Lisp was the host for many of the first graphical user interface (GUI) packages, popular activity in this area has shifted to more primitive but widely used languages such as C and C++. One explanation for this shift is that while Lisp's strength in rapid prototyping and development led to the initial progress, it also tended to inspire an imperialist attitude: applications were often crafted exclusively in Lisp, even when part of the application could make use of an existing conventional language library. We believe the ideal way to construct a CommonLisp GUI package today is to integrate proven C libraries with an object-oriented Lisp framework.
Research and Advances

Delivering the goods with Lisp

Lisp has long had a reputation for the efficacy of its development environment. It is used in academia and by some R&D groups in industry; and, compared with conventional languages, it is hardly ever used in real applications in the real world. It will always be perceived as a rather arcane esoteric language if it does not successfully leave the ivory towers and start delivering the goods where it really matters—at the sharp end in industry.
Research and Advances

Biosphere 2 nerve system

Biosphere 2 (Earth being Biosphere 1) is an experiment in closed system ecology. It is a steel and glass structure about the size of three football fields and has a volume of more than three million cubic feet. The purpose of the project is to demonstrate the viability of materially closed ecosystems—a sort of bioregenerative life support system—where water, air, and food are recycled. Later this year, eight people, called Biospherians, will be sealed inside Biosphere 2 for two years with only power and information being exchanged with the outside. A major part of this project is an expert system-based environmental control and monitoring system called the “Nerve System.”

Recent Issues

  1. July 2024 CACM cover
    July 2024 Vol. 67 No. 7
  2. June 2024 Vol. 67 No. 6
  3. May 2024 CACM cover
    May 2024 Vol. 67 No. 5
  4. April 2024 CACM cover with text
    April 2024 Vol. 67 No. 4