June 1962 - Vol. 5 No. 6
Features
In retrospect, it is obvious that Charles Babbage, when writing these words, had Howard Aiken in mind. In July 1961, twenty-four years after conceiving the idea that led to Mark I and after over a quarter century of service to Harvard University and to the advancement of science, Howard Aiken became Professor of Applied Mathematics, Emeritus, and embarked on his present career as a consultant with the same boundless energy and imagination that gave momentum to one of the most revolutionary and important technological advances of this century.
A redundancy check for ALGOL programs
In using ALGOL, or any other common language for communicating among computers with different input-output media, one or more human beings is normally present in the communication channel. In the otherwise convenient method of communication by published algorithms, at least three humans are directly involved: a typist to prepare the manuscript in reference or publication language, a typesetter, and a keypunch operator to prepare the program for the computer in its hardware language. In spite of checking by authors, proof readers, editors, and verifiers, this process is a noisy one, involving as it does not only copying a synthetic (and therefore unfamiliar) language, but also translation to and from the publication dialect. The number of minor typographical errors which have been detected and reported in published algorithms confirms this observation. Clearly some check of the accuracy with which an algorithm has been transmitted through this noisy channel would be desirable. The solution which we propose is directed particularly to ALGOL 60, but the same problems exist with other common languages, and the principles which we use could be readily adapted to them.
The final result of prolonged computations will in general contain some errors. These errors are composed in part of computational round-off errors. This note points out one source of round-off error encountered in the IBM 709-7090 machines. An example is included which demonstrates the potential seriousness of this error and finally a means of coping with it is given. The notation used here is that used in [1].
A note on sampling a tape-file
The problem of selecting a random sample of precisely n records from a tape film containing N records sometimes arises in data processing applications. If a means of obtaining a random sample of n integers r1, r2, … ,rn selected from the N integers 1, 2, … , N is available, the problem is theoretically simple. All that need be done is to then select the r1th, r2th, … , rnth records.
Analytic differentiation by computer
During the past few years a major portion of the work in computer applications has been concentrated in the two closely related fields of automatic programming and symbol manipulation. The results of this effort have been a wealth of new computer languages, a better understanding and definition of the basic principles and problems of symbol manipulation, and a growing body of algorithms and techniques for use in the applications.
General language translation schemata
In the past Backus Normal Form (BNF) has been defined only informally; however, a formal recognition definition has been evolved.
Criteria for acceptable abstracts
Recently, a personal reaction to a published abstract started a study which may lead to criteria for abstracts. This particular abstract seemed inadequate to those who were familiar with the original journal article. This brought up the question of how the adequacy of an abstract is determined. Is it a matter of opinion, or is it a measure of excellence? Assuming it is the latter, are the means for measuring it specified?
Trajectory computation in a problem-oriented language
A new problem-oriented language, XYZ, is being used on an experimental basis for trajectory computation. In the experiment, XYZ is compared with FORTRAN to determine the relative advantages of the two systems for use in flight simulation work. The comparison is concerned with the steps of: problem definition, program design, coding, checkout, and production.