Advertisement

Some thoughts on reconciling various character set proposals

Recently there have appeared several proposals for expanded character sets. In general, these differ in the following respects: the number of characters in the expanded set, the characters selected, card and/or tape code representation, and superscripting and subscripting techniques. Currently, it seems to be popular to talk in terms of establishing a “standard expanded character set.” In the opinion of the author, this will prove to be extremely difficult in practice and undesirable in theory. This does not mean, however, that there should be no attempt to achieve “minimal standard character subsets” for communication purposes and “universal languages.”

The future of automatic digital computers

Before discussing the future I want to talk about the past, which I find a source of disappointment. One of the things which prompted me to give the lecture its title was that a number of people who should know better have recently given tongue and pen to the statement that “new, second generation computers are with us” and that these machines are better than anything which has been thought of before. The first part of this lecture will attempt to disabuse you of this idea for, far from thinking that any second generation computer exists, I think that we are only just seeing the growing up of first generation computers. To justify this statement I remark that, in 1946-7, I worked with the late John von Neumann on the logical and physical design of computing machines. Von Neumann wrote, at the Institute for Advanced Study at Princeton, two reports [1, 2] on aims and objectives to which we may look to see the type of computer which was envisaged at that time. This computer was in fact a machine having, in retrospect, certain rather interesting characteristics. The most obvious of these is speed of operation and this was desired to be such that a 40 bit addition or subtraction would take about 10 micro-seconds. There is no computing machine commercially available in this country which achieves this addition time. The multiplication time of the von Neumann machine varied from 400 micro-seconds for the crudest scheme to 50 micro-seconds for a more sophisticated logical device which still made no use of the steam-roller electronics to be seen in at least one machine of the present day, which achieves a rather worse performance. So much for second generation speed!

A short method for measuring error in a least-squares power series

When fitting a curve to a set of points by means of a least-squares powers series, it is frequently desirable to obtain also a measure of the total error of the curve. Such error is most often measured by the size of the residual sum of squares and, while it is not infrequent for computer programs to provide this error sum along with the coefficients of the power series, in every case we have so far found this sum has been obtained by evaluating the series at every data point. This procedure requires that either the data be read through the machine a second time after the determination of the coefficients or that every data point be stored in the memory of the computer.

The department of computer mathematics at Moscow State University

For the preparation of specialists in computer and machine mathematics and the development of scientific work in this area, the department of computer mathematics was created in 1949 in Moscow State University within the staff of the mechanical-mathematics faculty. This was headed by Academician S. L. Sobolev beginning in 1952.

Compiling connectives

The connectives “and”, “or” and their alternatives can be used to connect words, phrases or clauses in natural English. In the specifications for the FACT language for the Honeywell 800(1), authors attempted to include as many of these uses as possible while still retaining simple rules as to what was allowable. The compiler operates on connectives by expanding the original source statements, using repetitions, until there has been generated an equivalent statement in which the connectives connect only complete conditional or imperative clauses. This paper describes the methods employed by the compiler for part of this expansion.

Multiprogram scheduling: parts 1 and 2. introduction and theory

In order to exploit fully a fast computer which possesses simultaneous processing abilities, it should to a large extent schedule its own workload. The scheduling routine must be capable of extremely rapid execution if it is not to prove self-defeating. The construction of a schedule entails determining which programs are to be run concurrently and which sequentially with respect to each other. A concise scheduling algorithm is described which tends to minimize the time for executing the entire pending workload (or any subset of it), subject to external constraints such as precedence, urgency, etc. The algorithm is applicable to a wide class of machines.

A technique for counting ones in a binary computer

Standard methods of counting binary ones on a computer with a 704 type instruction code require an inner loop which is carried out once for each bit in the machine word. Program 1 (written in SAP language for purposes of illustration) is an example of such a standard program.

What is a code?

The etymology of the word code is most interesting. It seems evident that in its original form it has reference to the paginated format of a book as distinguished from the earlier scrolls. Books with leaves fastened together at a common edge were apparently used in Roman times to record compilations of laws, and this is the basis for the original meanings of code, as a systematic collection, compilation, or formulation of laws, principles, rules or regulations.

A start on automatic storage assignment

This technique outlines a method whereby equation sets can be ordered in computational order and checked for compatibility. The technique also allows one to note what equations can be computed in parallel (provided one has parallel arithmetic capabilities) or can be considered a logical entity, i.e., segment. Furthermore, the technique will assist one to intelligently allocate high-speed memory (HSM) so that memory is reassigned to other duties as soon as its present duties are fulfilled. Last, the technique appears to be simple and fast to implement.

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 Involved

Communications 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