Language peer sets for MATH-MATIC: United States↑ United States/1955↑ Designed 1955 ↑ 1950s languages ↑ Second generation↑ Early Cold War↑ Genus Low-level Autocoders ↑ Numerical Scientific ↑ Low-level Autocoders↑ Autocoders↑ US historic algorithmic systems ↑ Low-level Autocoders/1955↑ Autocoders/1955↑ US historic algorithmic systems/1955↑ Low-level Autocoders/United States↑ Autocoders/United States↑ US historic algorithmic systems/United States↑ Numerical Scientific ↑ Numerical Scientific/1955↑ Numerical Scientific/us ↑
MATH-MATIC(ID:435/mat008)
Mathematically oriented autocode
alternate simple view
Country: United States
Designed 1955
Published: 1955
Genus: Low-level Autocoders
Sammet category: Numerical Scientific Marketing name for the AT-3 compiler by Charles Katz et al, at UNIVAC
In the initial approach letter by the GAMM to the president of ACM in 1957, this language was considered closest (along with Perlis' IT) to the ideal language for which they were aiming (more so than FORTRAN). Subsequent correspondence confirms this Hardware:
Illustrative Problem The purpose of the example below is to show how automatic programming can simplify the process of coding a statistical application for a computer. The MATH-MATIC compiler system is used to develop a program which will compute the Snedecor F statistic of the one-way Analysis of Variance.17 Chart 749 gives the pseudo-code program for this computation. This program is based on formula (1) which is fairly well-known. The pseudo-code is entered on the appropriate tape reel. The process of compilation results in a running program which will process the input data, compute F} and display it on another tape reel. The operator types in the values of N and K at the control console before the processing begins. The sequence of operations during the processing of the data is a successive series of accumulations to sums of values and sums of squares. These accumulations as defined in the program are: Using these definitions the formula for F reduces to (2) The pseudo-code program of Chart 749 is developed in such a manner that as the input data are processed, their values and the squares of their values are added to the S sums in the desired sequence. When all accumulations are complete, F is computed by formula (2). The pseudo-code program of Chart 749 is relatively easy to follow with a small amount of additional explanation which is given below. The data to be reduced to an F statistic (the Xt/s) are entered onto the input data tape reel by group. The end of the data is indicated by twelve Z's (ZZZZZZZZZZZZ) which is called the sentinel18 The first seven statements or "sentences" in the program set up the condition for processing each unit of input data. Sentence (1) enables the operator to type in the values of N and K. Sentences (2), (3), and (4) insure that the accumulations of Sij &, and S$ all start at zero at the outset. Sentence (5) sets up a "loop" or major subroutine which is repeated for each of the K groups starting with the first group and advancing in stages of one group at a time. Sentence (6) clears So to zero at the beginning of each of these K loops. Sentence (7) sets up a loop for reading each of the N observations within each group. Sentence (8) is the beginning of the actual data reduction. It enables the reading (from the input data tape reel) of the next value and testing to determine whether it is the sentinel. If it is not the sentinel, accumulations are made to So and Si by sentences (9) and (10). When all of the N values for a group have been entered and reduced, accumulations are made for #2 and $3 by Sentences (11) and (13). This process is repeated for each of the K groups. If the 12 Z sentinel is the item, this indicates the end of the data. The next step is to compute F. This is all performed under the control of sentence (13). This is a remarkable instruction because it is simply a statement of formula (2).19 It is worth noting that on the basis of this single instruction three multiplications, four subtractions, and three divisions are all performed. In addition, all significant digits are properly positioned and all decimal points evaluated with no additional coding. Sentence (14) instructs the control typewriter to print out the values of the statistic F, and the constants K and N. Sentence (15) is the instruction that stops all calculations and rewinds the magnetic tapes. This problem required about four working days of preparation. This included learning to use the compiler, planning input data layout, and flow charting. Only two hours were required to prepare the pseudo-code. The 15 sentences of pseudo-code correspond to a running program of approximately 1,000 computer code instructions.20 About four minutes of compiling time was required (i.e., for the computer to prepare the running program). The running time for the computation itself was negligible. The program ran without errors the first time it was tried. Thus, no debugging time was required. For a set of test data with 30 observations and K = 3 and N = 10, the running time was about three seconds. Extrapolation indicates that it would take a very large number of observations to require a substantial running time, such as a minute..
_____________________
Footnotes 17 This method is frequently used in analysis of the results of experiments for which N random values are observed in each of K different groups. By reducing the data to an F statistic and computing its value to use in an BF" probability distribution, a judgement is made as to whether some cause or pure chance alone might have accounted for the variations between grouped values. See Snedecor's Statistical Methods for a number of illustrations of the uses of this statistic 18 Sentinels are needed in computer operation to indicate end of data, end of file and of tape reel, or any other point of differentiation between one type of data and another. Twelve Z'a are often employed for this purpose because it is unlikely that anyone would use them for data or any other purpose in programming.
References:
Ash, R., Broadwin, E., Della Valle, V., Katz, C., (1957) Ash, R., Broadwin, E., Della Valle, V., Katz, C., Greene, M., Jenny, A., and Yu, L. "Preliminary Manual for MATH-MATIC and ARITH-MATIC Systems (for Algebraic Translation and Compilation for UNIVAC I and II)" Philadelphia, Pennsylvania: Remington Rand Univac 1957
Bemer (1957) Bemer, R. W. "The Status of Automatic Programming for Scientific Problems"
AbstractExtract:
SummaryExtract:
IT, FORTRANSIT, SAP, SOAP, SOHIO in [Armour] (1957) "Proceedings of the Fourth Annual Computer Applications Symposium" , Armour Research Foundation, Illinois Institute of Technology, Chicago, Illinois 1957
Greene, Mary Lou. (1957) Greene, Mary Lou. The edited record (to provide a record of the transition from MATH-MATIC pseudo-eode sentences through ARITH-MATIC pseudo-code operations into the final UNIVAC C-10 running program). 1957
in [Armour] (1957) "Proceedings of the Fourth Annual Computer Applications Symposium" , Armour Research Foundation, Illinois Institute of Technology, Chicago, Illinois 1957
Katz, Charles. (1957) Katz, Charles. Comparative coding for FORTRAN (IBM 704), MATH-MATIC (UNIVAC I and II), UNICODE (1103A). (Issuer unknown.) July 1957
in [Armour] (1957) "Proceedings of the Fourth Annual Computer Applications Symposium" , Armour Research Foundation, Illinois Institute of Technology, Chicago, Illinois 1957
The use of subscripts in the MATH-MATIC system. (1957) The use of subscripts in the MATH-MATIC system. (Issuer unknown.) 1957
in [Armour] (1957) "Proceedings of the Fourth Annual Computer Applications Symposium" , Armour Research Foundation, Illinois Institute of Technology, Chicago, Illinois 1957
Bemer (1958) [Bemer, RW] [State of ACM automatic coding library August 1958]
in [Armour] (1957) "Proceedings of the Fourth Annual Computer Applications Symposium" , Armour Research Foundation, Illinois Institute of Technology, Chicago, Illinois 1957
UNIVAC (1958) [UNIVAC] UNIVAC Math-Matic Programming System, Remington Rand Univac Division of Sperry Rand Corporation, 1958
in [Armour] (1957) "Proceedings of the Fourth Annual Computer Applications Symposium" , Armour Research Foundation, Illinois Institute of Technology, Chicago, Illinois 1957
Bemer, R (1958) Bemer, R "Techniques Department" - Translation to another language rather than compiling
in [ACM] (1958) [ACM] CACM 1(07) July 1958
Way, F. III (1958) Way, F. III "Current Developments In Computer Programming Techniques"
Extract:
UNISAP, IT, SML, C-10Extract:
SOAP, CASE SOAPExtract:
IT, RuncibleExtract:
MATH-MATIC vs. RUNCIBLEExtract:
FORTRANSIT, IT, RUNCIBLE in [Proceedings] (1958) Proceedings of the 1958 Computer Applications Symposium, Armour Research Foundation, Illinois Institute of Technology, Chicago, Illinois
Carr (1959) Carr, John W III; "Computer Programming" volume 2, chapter 2, pp115-121
in Crabbe et al (1957) E. M. Crabbe, S. Ramo, and D. E. Wooldridge (eds.) "Handbook of Automation, Computation, and Control," John Wiley & Sons, Inc., New York, 1959.
Locks (1959) Locks, Mitchell O. "Automatic Programming for Automatic Computers" Journal of the American Statistical Association, 549(288) Dec 1959 pp744-754
Extract:
SOAP, RECO, X1Extract:
MATHMATIC, FORTRAN and UNICODEExtract:
FLOW-MATIC and REPORT GENERATOR in Crabbe et al (1957) E. M. Crabbe, S. Ramo, and D. E. Wooldridge (eds.) "Handbook of Automation, Computation, and Control," John Wiley & Sons, Inc., New York, 1959.
Martin et al (1960) Martin, E. Wayne Jr.; Hall, Dale J. "Data Processing: Automation in Calculation" Review of Educational Research, Vol. 30, No. 5, The Methodology of Educational Research (Dec., 1960), 522-535.
AbstractExtract:
Compiler Systems in Crabbe et al (1957) E. M. Crabbe, S. Ramo, and D. E. Wooldridge (eds.) "Handbook of Automation, Computation, and Control," John Wiley & Sons, Inc., New York, 1959.
MATH-MATIC (Automatic Programming System), U-1568 (1960) MATH-MATIC (Automatic Programming System), U-1568 Rev. 1, UNIVAC, (D 1960, Sperry Rand Corporation.
in Crabbe et al (1957) E. M. Crabbe, S. Ramo, and D. E. Wooldridge (eds.) "Handbook of Automation, Computation, and Control," John Wiley & Sons, Inc., New York, 1959.
Taylor (1960) Taylor, A., "The FLOW-MATIC and MATH-MATIC Automatic Programming Systems"
in Goodman (ed) (1960) Goodman, Richard (ed) "Annual Review in Automatic Programming "(1) 1960 Pergamon Press, Oxford
Blum, E. (1961) Blum, E. K. review of Goodman 1960
Abstract in (1961) ACM Computing Reviews 2(03) May-June 1961
Bemer, R (1962) Bemer, R "ISO TC97/SC5/WGA(1) Survey of Programming Languages and Processors" December 1962
in [ACM] (1963) [ACM] CACM 6(03) (Mar 1963)
Rosen, Saul (1964) Rosen, Saul "Programming Systems and Languages: a historical Survey" (reprinted in Rosen, Saul (ed) Programming Systems & Languages. McGraw Hill, New York, 1967)
Extract:
Early UNIVAC languages in [AFIPS JCC 25] (1964) [AFIPS JCC 25] Proceedings of the 1964 Spring Joint Computer Conference SJCC 1964
Sammet, Jean E. (1969) Sammet, Jean E. "Computer Languages - Principles and History"
Englewood Cliffs, N.J. Prentice-Hall 1969. .
in [AFIPS JCC 25] (1964) [AFIPS JCC 25] Proceedings of the 1964 Spring Joint Computer Conference SJCC 1964
Stock and Stock (1973) Stock, Marylene and Stock, Karl F. "Bibliography of Programming Languages: Books, User Manuals and Articles from PLANKALKUL to PL/I" Verlag Dokumentation, Pullach/Munchen 1973 367
Abstract in [AFIPS JCC 25] (1964) [AFIPS JCC 25] Proceedings of the 1964 Spring Joint Computer Conference SJCC 1964 Resources