Посажение на кол
- 1 year ago
- 0
- 0
FLOW-MATIC — был первым основанным на английском языком обработки данных и изначально назывался B-0 ( Business Language version 0 — «язык (для) бизнеса версия 0»). Был разработан для компьютера UNIVAC I в компании Remington Rand под руководством Грейс Хоппер с 1955 по 1959 год. На базе FLOW-MATIC сформировался схожий по идее и целям язык программирования COBOL .
Хоппер обнаружила, что при обработке данных клиенты испытывают дискомфорт от использования математической нотации :
Когда-то я была профессором математики. В то время я обнаружила, что есть студенты, которые не могут изучать математику. Затем мне поручили сделать так, чтобы предпринимателям было легко пользоваться нашими компьютерами. Оказалось, что вопрос не в том, смогут ли они изучать математику, а в том, захотят ли они. [ ... ] Многие из них говорили: "Выбросьте эти символы — я не знаю, что они означают, у меня нет времени их изучать". А тем, кто заявляет, что люди, обрабатывающие данные, должны использовать математическую нотацию, я посоветую для начала обучить математической записи вице-президента или полковника или адмирала. Уверяю вас, я уже пробовала.
В конце 1953 года она предложила заменить символы на (ключевые) слова из английского языка, но руководство Remington Rand сочло эту идею неосуществимой. Однако уже в начале 1955 года Грейс и её команда подготовили спецификацию к соответствующему языку программирования и реализовали прототип компилятора , который с 1958 года стал общедоступен, а 1959 - почти завершён .
FLOW-MATIC был первым языком программирования, который выражал операции с помощью словесных мнемоник . Это была также первая система, которая чётко отделяла данные от операций над ними. Язык определения данных системы FLOW-MATIC, в отличие от исполняемых инструкций, не был похож на английский ; скорее, структуры данных определялись путём заполнения предварительно напечатанных форм .
FLOW-MATIC и его прямой потомок определили COBOL , который включал в себя несколько характерных для FLOW-MATIC элементов:
INPUT <ИМЯ ФАЙЛА> <БУКВА ФАЙЛА>
;
OUTPUT <ИМЯ ФАЙЛА> <БУКВА ФАЙЛА>
;
HSP <БУКВА ФАЙЛА>
.
IF END of DATA (AT END)
для операции
READ
.
ZERO
(первоначально
ZZZ...ZZZ
, где число
Z
указывает точность).
Computer
(раздел среды),
Directory
(раздел данных) и
Compiler
(раздел процедур).
Пример программы на FLOW-MATIC:
(0) INPUT INVENTORY FILE-A PRICE FILE-B ; OUTPUT PRICED-INV FILE-C UNPRICED-INV FILE-D ; HSP D . (1) COMPARE PRODUCT-NO (A) WITH PRODUCT-NO (B) ; IF GREATER GO TO ; IF EQUAL GO TO ; OTHERWISE GO TO . (2) TRANSFER A TO D . (3) WRITE-ITEM D . (4) JUMP TO . (5) TRANSFER A TO C . (6) MOVE UNIT-PRICE (B) TO UNIT-PRICE (C) . (7) WRITE-ITEM C . (8) READ-ITEM A ; IF GO TO . (9) JUMP TO . (10) READ-ITEM B ; IF GO TO . (11) JUMP TO . (12) SET TO GO TO . (13) JUMP TO . (14) TEST PRODUCT-NO (B) AGAINST ; IF EQUAL GO TO ; OTHERWISE GO TO . (15) REWIND B . (16) CLOSE-OUT FILES C ; D . (17) STOP . (END)
Примечания к примеру
PRODUCT-NO
и
UNIT-PRICE
были бы определены в разделе данных, который (как отмечалось ранее) не использует синтаксис, подобный английскому.
FILE-A
, далее в программе, с целью упрощения. обозначается просто A.