MATH-MATIC - MATH-MATIC
Paradigm | nödvändigt |
---|---|
Designad av | Remington Rand |
Uppträdde först | 1957 |
Plattform | UNIVAC I , UNIVAC II |
Påverkad av | |
FLOW-MATIC | |
Påverkad | |
UNICODE (programmeringsspråk) |
MATH-MATIC är marknadsföringsnamnet för kompilatorn AT-3 (Algebraic Translator 3) , ett tidigt programmeringsspråk för UNIVAC I och UNIVAC II .
MATH-MATIC skrevs från 1955 av ett team som leds av Charles Katz under ledning av Grace Hopper . En preliminär manual producerades 1957 och en slutlig manual året därpå.
Syntaktiskt liknade MATH-MATIC Univacs samtida affärsinriktade språk, FLOW-MATIC , som skiljer sig åt när det gäller algebraiska uttryck och flytpunktsräkning och matriser snarare än rekordstrukturer.
Anmärkningsvärda funktioner
Uttryck i MATH-MATIC kan innehålla numeriska exponenter, inklusive decimaler och bråk, med hjälp av en anpassad skrivmaskin.
MATH-MATIC-program kan innehålla inbyggda monteringsdelar av ARITH-MATIC- kod och UNIVAC- maskinkod.
Den UNIVAC Jag hade bara 1000 ord minne och efterföljaren UNIVAC II så lite som 2000. MATH-MATIC tillåts för större program, att automatiskt generera kod för att läsa overlay segment från UNISERVO band vid behov. Kompilatorn försökte undvika att dela slingor över segment.
Inflytande
Genom att föreslå samarbetet med ACM som ledde till ALGOL 58 skrev Gesellschaft für Angewandte Mathematik und Mechanik att man ansåg MATH-MATIC vara det språk som ligger närmast sitt eget förslag.
Till skillnad från Backus FORTRAN betonade MATH-MATIC inte exekveringshastigheten för kompilerade program. UNIVAC-maskinerna hade inte flytande hårdvara och MATH-MATIC översattes via A-3 ( ARITH-MATIC ) pseudo-assembler-kod snarare än direkt till UNIVAC-maskinkod, vilket begränsade dess användbarhet.
MATH-MATIC Provprogram
Ett exempel på MATH-MATIC-program:
(2) TYP-IN ALFA. (2A) LÄS ABC SERVO 4 FÖRVARING A OM SENTINEL HOPP TILL SINN 8. (3) LÄS DF SERVO 5. (4) VARIERA Y (0,1) 3 SINN 5 THRU 6. (5) X1 = (7 * 10 3 * Y * A * SIN ALFA) 3 / (B POW D + C POW E). (6) SKRIV OCH REDIGERA AYDE X1 SERVO 6. (7) Hoppa till mening 2A. (8) STÄNGD INGÅNG OCH ÅTERVINN SIN 3. (9) STÄNGD SINN 6. (10) LÄS FGHN SERVO 4 FÖRVARING A OM SENTINEL HOPP TILL MÄN 20. (11) KÖR SINN 3. (12) X2 = (3 ROOT (EG) + LOG (D + N)) / (F 2,6 * EXP H). (13) SKRIV EDIT FDF X2 SERVO 6. (16) HOPP TILL SINN 10. (20) STOPP.
Anteckningar
Referenser
- Ash, R .; Broadwin, E .; Della Valle, V .; Greene, M .; Jenny, A .; Katz, C .; Yu, L. (1957-04-19). Preliminär handbok för MATH-MATIC och ARITH-MATIC-system för algebraisk översättning och kompilering för UNIVAC I och II (PDF) (teknisk rapport). Philadelphia: Remington Rand Univac. Arkiverad från originalet (PDF) den 26 december 2014 . Hämtad 2016-03-19 .
- Bemer, Robert W. (1969), A Politico-Social History of Algol (With a Chronology in the form of a Log Book) (PDF) , hämtad 2016-03-20
- Knuth, Donald ; Trabb Pardo, Luis (augusti 1976). Den tidiga utvecklingen av programmeringsspråk (teknisk rapport). Datavetenskapliga institutionen, Institutionen för humaniora och vetenskap, Stanford University . Hämtad 2016-03-19 .
- Sammet, Jean (1969). Programmeringsspråk: historia och grundläggande . Prentice-Hall. s. 132, 135–137. ISBN 978-0-13-729988-1.
- Univac MATH-MATIC Programming System (PDF) (teknisk rapport). Remington Rand Univac. 1958 . Hämtad 2016-03-19 .
- "MATH-MATIC - Matematisk orienterad autokod (Datorspråk)" . Online historisk uppslagsverk för programmeringsspråk . Arkiverad från originalet 2016-04-02 . Hämtad 2016-03-20 .
- "UNICODE - UNIVAC-hybrid av FORTRAN och MATH-MATIC" . Online historisk uppslagsverk för programmeringsspråk . Arkiverad från originalet 2016-04-03 . Hämtad 2016-03-20 .