March 1967 - Vol. 10 No. 3

March 1967 issue cover image

Features

News

President’s letter to the ACM membership

Computer programming deals with an enormous variety of activities and is carried on by people with a great variety of backgrounds. It seems clear that part but not all of this activity is evolving toward a distinct professional field, but that the scope of this emerging profession, and some of its economic, social, and educational characteristics are as yet by no means well defined. In this paper, these issues are examined and some opinions about them are expressed.
Opinion

The emergence of a profession

Computer programming deals with an enormous variety of activities and is carried on by people with a great variety of backgrounds. It seems clear that part but not all of this activity is evolving toward a distinct professional field, but that the scope of this emerging profession, and some of its economic, social, and educational characteristics are as yet by no means well defined. In this paper, these issues are examined and some opinions about them are expressed.
Research and Advances

Application of level changing to a multilevel storage organization

A technique for organizing the devices of a computer storage system is described. This technique, called the multilevel store, provides a means for economically satisfying the requirements for very large storage capacities of certain data management and information retrieval systems. The concept of level changing is introduced and its application to the multilevel store is discussed. A possible means for physically organizing the information for efficient use of the multilevel store is presented.
Research and Advances

Structure of a LISP system using two-level storage

In an ideal list-processing system there would be enough core memory to contain all the data and programs. Described in this paper are a number of techniques that have been used to build a LISP system utilizing a drum for its principal storage medium, with a surprisingly low time penalty for use of this slow storage device. The techniques include careful segmentation of system programs, allocation of virtual memory to allow address arithmetic for type determination, and a special algorithm for building reasonably linearized lists. A scheme for binding variables is described which is good in this environment and allows for complete compatibility between compiled and interpreted programs with no special declarations.
Research and Advances

On the automatic simplification of source-language programs

Methods of simplification that can be applied automatically to programs written in an ALGOL-like language are discussed. The simplifications are based on the form of the program and the knowledge obtained by a processor, without any understanding of what the program is supposed to do. These methods have been implemented in a processor called SURE that accepts a program written in JOVIAL and outputs an equivalent JOVIAL program that may be shorter and may be executed faster than the original. SURE is described, some of the problems encountered in automatic improvement at the source-language level are discussed, and further types of automatic program improvement are suggested.
Research and Advances

An application of FORMAC

A nonlinear circuit analysis problem is stated and the way in which it was solved using FORMAC is indicated. The solution of the problem using FORMAC was notable since several other methods that were tried failed. The problem is straightforward (although untenable by hand) but nevertheless involved an elaborate use of the FORMAC language. The program was fairly large and utilized practically every command. In particular, it made extensive use of the PART command. Several tricks were necessary in order to circumvent some of the shortcomings of the FORMAC system. This paper is more concerned with the use of programming techniques in FORMAC than with the actual engineering problem, although readers may be interested in the problem because it is stated in a general (mathematical) sense and could be of interest in areas other than circuit analysis.
Research and Advances

Computer typesetting of ALGOL

An application of computer-aided typesetting is introduced. A working method is described for publishing ALGOL by computerized translation from Hardware into Reference representation, computerized planning of typographical layout and computerized control of a typesetting machine. The point is made that experts in science, technology, and programming are guaranteed a correct ALGOL documentation without spending valuable time and power on typographic considerations and proofreading.
Research and Advances

Methods of evaluating polynomial approximations in function evaluation routines

The method of nested multiplication is commonly used in function evaluation routines to evaluate approximation polynomials. New polynomial evaluation methods have been developed in recent years which require fewer multiplications than nested multiplication and may therefore be preferable for use in function evaluation routines. Although some of these methods do not appear to be practically useful because of rounding-error difficulties, several methods of evaluating low-degree polynomials have been found to be satisfactory. Three such methods are described and illustrated.
Research and Advances

Tensor calculations on computer: appendix

In the main text of the paper [Comm. ACM 9, 12 (Dec. 1966), 864], a FORMAC program was discussed which is capable of calculating various quantities of interest in tensor calculus. This Appendix is intended as an example of the program output. Christoffel symbols calculated for 12 basic orthogonal coordinate systems are listed.

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