A language independent macro processor
Computing Profession
The problem of obtaining starting values for the Newton-Raphson calculation of √x on a digital computer is considered. It is shown that the conventionally used best uniform approximations to √x do not provide optimal starting values. The problem of obtaining optimal starting values is stated, and several basic results are proved. A table of optimal polynomial starting values is given.
The internal organization of string processing systems is discussed. Six techniques for data structures are presented and evaluated on the basis of: (1) creation of strings; (2) examination of strings; and (3) alteration of strings. Speed of operation, storage requirements, effect on paging, and programmer convenience are also considered. One of the techniques, single-word linked blocks, is used in an example demonstrating an implementation of a SNOBOL string processing language on an IBM System/360.
Changes in government procurement policies
Several years ago there was an attempt in Washington to place the selection of government computers in a central, highly placed office. Individual government agencies, led by the Department of Defense, successfully beat back this attempt. Today, two years later, it looks as though other forms of centralization are being worked into the government fabric at lower levels, one in the Department of Defense, another in the General Services Administration.
Implementing phrase-structure productions in PL/I
A method is described for implementing the productions of a context-free phrase structure grammar in a PL/I procedure whose structure and statements parallel the structure and notation of the grammar.
The simulation of time sharing systems
The development of new large scale time-sharing systems has raised a number of problems for computation center management. Not only is it necessary to develop an appropriate hardware configuration for these systems, but appropriate software adjustments must be made. Unfortunately, these systems often do not respond to changes in the manner that intuition would suggest, and there are few guides to assist in the analysis of performance characteristics. The development of a comprehensive simulation model to assist in the investigation of these questions is described in this paper. The resulting model has a general purpose design and can be used to study a variety of time-sharing systems. It can also be used to assist in the design and development of new time-sharing algorithms or techniques. For the sake of efficiency and greater applicability, the model was implemented in a limited FORTRAN subset that is compatible with most FORTRAN IV compilers. The use of the simulation is demonstrated by a study of the IBM 360/67 time-sharing system.
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.
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.
Shape the Future of Computing
ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.
Get InvolvedCommunications of the ACM (CACM) is now a fully Open Access publication.
By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.
Learn More