Введение

MATH MATIC — это маркетинговое название компилятора AT 3 (Algebraic Translator 3), одного из первых языков программирования для ЭВМ UNIVAC I и UNIVAC II. MATH MATIC разрабатывался, начиная примерно с 1955 года, командой под руководством Чарльза Каца и под общим руководством Грейс Хоппер. Предварительное руководство было подготовлено в 1957 году, а окончательное — в следующем году. Синтаксически MATH MATIC был схож с бизнес-ориентированным языком FLOW MATIC, разработанным компанией Univac в то же время, но отличался поддержкой алгебраических выражений, арифметики с плавающей точкой и массивов вместо структур записей.

Примечательные особенности

Выражения в MATH MATIC могли содержать числовые степени, включая десятичные и дробные числа, посредством специальной печатающей машинки. Программы MATH MATIC могли включать встроенные секции ассемблера кода ARITH MATIC и машинного кода UNIVAC. UNIVAC I имел всего 1000 слов памяти, а его преемник UNIVAC II – лишь 2000. MATH MATIC позволял создавать более крупные программы, автоматически генерируя код для чтения перекрывающихся сегментов с магнитной ленты UNISERVO по мере необходимости. Компилятор старался избегать разбиения циклов между сегментами.

Влияние

Предлагая сотрудничество с ACM, которое привело к созданию ALGOL 58, Gesellschaft für Angewandte Mathematik und Mechanik сообщила, что считает MATH MATIC наиболее близким доступным языком к своему предложению. В отличие от FORTRAN, разработанного Бакусом, MATH MATIC не делал акцент на скорости выполнения скомпилированных программ. Машины UNIVAC не были оснащены аппаратной поддержкой чисел с плавающей точкой, и MATH MATIC транслировался через псевдоассемблер A 3 (ARITH MATIC), а не напрямую в машинный код UNIVAC, что ограничивало сферу его применения.