МАТИК-МАТИКА
Парадигма | императив |
---|---|
Разработано | Ремингтон Рэнд |
Впервые появился | 1957 |
Платформа | УНИВАК I , УНИВАК II |
Под влиянием | |
ФЛОУ-МАТИК | |
Под влиянием | |
ЮНИКОД (язык программирования) |
MATH-MATIC — это маркетинговое название компилятора AT-3 (Algebraic Translator 3) , раннего языка программирования для UNIVAC I и UNIVAC II .
MATH-MATIC была написана примерно в 1955 году командой под руководством Чарльза Каца под руководством Грейс Хоппер . Предварительное руководство [1] был выпущен в 1957 году и окончательное руководство [2] в следующем году.
Синтаксически MATH-MATIC был похож на современный бизнес-ориентированный язык Univac FLOW-MATIC , отличавшийся предоставлением выражений алгебраического стиля и арифметики с плавающей запятой, а также массивов, а не структур записи.
Примечательные особенности
[ редактировать ]Выражения в MATH-MATIC могут содержать числовые показатели степени, включая десятичные и дробные, с помощью специальной пишущей машинки. [3]
Программы MATH-MATIC могут включать встроенные разделы ассемблера кода ARITH-MATIC и UNIVAC . машинного кода [4]
У UNIVAC I было всего 1000 слов памяти, а у преемника UNIVAC II - всего 2000. MATH-MATIC позволял использовать более крупные программы, автоматически генерируя код для чтения наложенных сегментов с ленты UNISERVO по мере необходимости. Компилятор попытался избежать разделения циклов на сегменты. [5]
Влияние
[ редактировать ]Предлагая сотрудничество с ACM, которое привело к созданию АЛГОЛА 58 , Общество по математике и механике написало, что считает MATH-MATIC наиболее близким доступным языком к его собственному предложению. [6]
В отличие от Бэкуса FORTRAN , MATH-MATIC не уделял особого внимания скорости выполнения скомпилированных программ. Машины UNIVAC не имели оборудования для операций с плавающей запятой , и MATH-MATIC транслировался через A-3 ( ARITH-MATIC ), а не напрямую в машинный код UNIVAC, что ограничивало его полезность. псевдоассемблерный код [7]
MATH-MATIC Пример программы
[ редактировать ]Пример программы MATH-MATIC: [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*103*Y*A*SIN ALPHA)3 / (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)) / (F2.6*EXP H) . (13) WRITE EDIT F D F X2 SERVO 6 . (16) JUMP TO SENTENCE 10 . (20) STOP .
Примечания
[ редактировать ]Ссылки
[ редактировать ]- Эш, Р.; Бродвин, Э.; Делла Валле, В.; Грин, М.; Дженни, А.; Кац, К. ; Ю, Л. (19 апреля 1957). Предварительное руководство по системам MATH-MATIC и ARITH-MATIC для алгебраического перевода и компиляции для UNIVAC I и II (PDF) (технический отчет). Филадельфия: Ремингтон Рэнд Унивак. Архивировано из оригинала (PDF) 26 декабря 2014 г. Проверено 19 марта 2016 г.
- Бемер, Роберт В. (1969), Политико-социальная история Алгола (с хронологией в форме журнала) (PDF) , получено 20 марта 2016 г.
- Кнут, Дональд ; Трабб Пардо, Луис (август 1976 г.). Раннее развитие языков программирования (Технический отчет). Факультет компьютерных наук Школы гуманитарных наук Стэнфордского университета . Проверено 19 марта 2016 г.
- Саммет, Жан (1969). Языки программирования: история и основы . Прентис-Холл. стр. 132, 135–137. ISBN 978-0-13-729988-1 .
- Система программирования Univac MATH-MATIC (PDF) (Технический отчет). Ремингтон Рэнд Унивак. 1958 год . Проверено 19 марта 2016 г.
- «МАТ-МАТИК — Математически ориентированный автокод (язык программирования)» . Интернет-историческая энциклопедия языков программирования . Архивировано из оригинала 02 апреля 2016 г. Проверено 20 марта 2016 г.
- «UNICODE — гибрид UNIVAC FORTRAN и MATH-MATIC» . Интернет-историческая энциклопедия языков программирования . Архивировано из оригинала 3 апреля 2016 г. Проверено 20 марта 2016 г.