MATH-MATIC

MATH-MATIC is the marketing name for the AT-3 (Algebraic Translator 3) compiler, an early programming language for the UNIVAC I and UNIVAC II.

MATH-MATIC
Paradigmimperative
Designed byRemington Rand
First appeared1957 (1957)
PlatformUNIVAC I, UNIVAC II
Influenced by
FLOW-MATIC
Influenced
UNICODE (programming language)

MATH-MATIC was written beginning around 1955 by a team led by Charles Katz under the direction of Grace Hopper. A preliminary manual[1] was produced in 1957 and a final manual[2] the following year.

Syntactically, MATH-MATIC was similar to Univac's contemporaneous business-oriented language, FLOW-MATIC, differing in providing algebraic-style expressions and floating-point arithmetic, and arrays rather than record structures.

Notable features

Expressions in MATH-MATIC could contain numeric exponents, including decimals and fractions, by way of a custom typewriter.[3]

MATH-MATIC programs could include inline assembler sections of ARITH-MATIC code and UNIVAC machine code.[4]

The UNIVAC I had only 1000 words of memory, and the successor UNIVAC II as little as 2000. MATH-MATIC allowed for larger programs, automatically generating code to read overlay segments from UNISERVO tape as required. The compiler attempted to avoid splitting loops across segments.[5]

Influence

In proposing the collaboration with the ACM that led to ALGOL 58, the Gesellschaft für Angewandte Mathematik und Mechanik wrote that it considered MATH-MATIC the closest available language to its own proposal.[6]

In contrast to Backus' FORTRAN, MATH-MATIC did not emphasise execution speed of compiled programs. The UNIVAC machines did not have floating-point hardware, and MATH-MATIC was translated via A-3 (ARITH-MATIC) pseudo-assembler code rather than directly to UNIVAC machine code, limiting its usefulness. [7]

MATH-MATIC Sample program

A sample MATH-MATIC program:[8]

(2)  TYPE-IN ALPHA . 
(2A) READ A B C SERVO 4 STORAGE A IF SENTINEL JUMP TO SENTENCE 8 . 
(3)  READ D F SERVO 5 . 
(4)  VARY Y 1 (0.1) 3 SENTENCE 5 THRU 6 . 
(5)  X1 = (7*10<sup>3</sup>*Y*A*SIN ALPHA)<sup>3</sup> / (B POW D+C POW E) . 
(6)  WRITE AND EDIT A Y D E X1 SERVO 6 . 
(7)  JUMP TO SENTENCE 2A . 
(8)  CLOSE-INPUT AND REWIND SENTENCE 3 . 
(9)  CLOSE-OUTPUT SENTENCE 6 . 
(10) READ F G H N SERVO 4 STORAGE A IF SENTINEL JUMP TO SENTENCE 20 . 
(11) EXECUTE SENTENCE 3 . 
(12) X2 = (3 ROOT (E-G)+LOG (D+N)) / (F<sup>2.6</sup>*EXP H) . 
(13) WRITE EDIT F D F X2 SERVO 6 . 
(16) JUMP TO SENTENCE 10 . 
(20) STOP .

Notes

  1. Ash (1957)
  2. Univac (1958)
  3. Sammet (1969) p. 135
  4. Sammet (1969) p. 137
  5. Sammet (1969) p. 137
  6. Bemer (1969) p. 161
  7. Knuth (1976) p. 90
  8. Univac (1958) p. 8
gollark: I need to find sample privacy policies to improve it.
gollark: Please don't send us your interactions with any hypothetical unions on your screen in order to form text and images, some of which may remain in your screen in force. Please read every part of this policy. If any provision of this policy carefully, and don't send us your personal information. This website places pixels on any particular continents. This website places pixels on your device if we run low on space on our hearts, and this agreement shall not liable and has nothing to do not want your personal information, let alone yours. This policy governs your interactions with this agreement shall not be construed to call Rohan for aid. For users who are citizens of the goodness of the goodness of our own personal information. We do not want your home. Our website may use local storage on any particular continents. If any provision of this policy, of our own personal information, let alone yours. Our website may remain in force. This website places pixels on any particular continents. This website places pixels on your device if we run low on space on our end. This website places pixels on any particular continents. For users who are citizens of the page. For users who are citizens of the users. This website places pixels on any particular continents. This organization is purely out of the users. We have a hard enough time keeping track of the European Union, we run low on space on our own personal information, let alone yours. This policy supersedes any applicable federal, state, and local laws, regulations and ordinances, international treaties, and legal agreements that would otherwise apply.is what I got doing 11-or-so sentences with a tiny dataset and no fine tuning
gollark: I wonder how awful it would be to try and run some sort of in-browser neural network thing to generate privacy policy text.
gollark: RPNCalc3 is compiled from Elm source, Whorl is compiled, and so are other things probably.
gollark: Some of it is compiled from the originals of my projects, some isn't.

References

  • Ash, R.; Broadwin, E.; Della Valle, V.; Greene, M.; Jenny, A.; Katz, C.; Yu, L. (1957-04-19). Preliminary Manual for MATH-MATIC and ARITH-MATIC Systems for Algebraic Translation and Compilation for UNIVAC I and II (PDF) (Technical report). Philadelphia: Remington Rand Univac. Archived from the original (PDF) on 2014-12-26. Retrieved 2016-03-19.
  • Sammet, Jean (1969). Programming Languages: History and Fundamentals. Prentice-Hall. pp. 132, 135–137. ISBN 978-0-13-729988-1.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.