ФЛОУ-МАТИК
Парадигма | императив |
---|---|
Разработано | Ремингтон Рэнд , Грейс Хоппер |
Впервые появился | 1955 |
Платформа | УНИВАК I |
Под влиянием | |
ARITH-MATIC , система Лейнинга и Цирлера | |
Под влиянием | |
МАТЕМАТИКА , AIMACO , КОБОЛ |
FLOW-MATIC , первоначально известный как B-0 ( бизнес-язык версии 0 ), был первым англоподобным языком обработки данных . Он был разработан для UNIVAC I в компании Remington Rand под руководством Грейс Хоппер с 1955 по 1959 год и помог сформировать развитие COBOL .
Развитие [ править ]
Хоппер обнаружил, что клиентам, занимающимся обработкой бизнес-данных, не нравятся математические обозначения: [1]
Раньше я был профессором математики. В то время я обнаружил, что было определенное количество студентов, которые не могли изучать математику. Затем мне поручили облегчить бизнесменам использование наших компьютеров. Я обнаружил, что вопрос не в том, смогут ли они выучить математику или нет, а в том, будут ли они это делать. […] Они сказали: «Выбросьте эти символы — я не знаю, что они означают, у меня нет времени учить символы». Тем, кто хотел бы, чтобы люди, занимающиеся обработкой данных, использовали математические символы, я предлагаю ответить, что они должны сделать первую попытку научить этим символам вице-президентов, полковников или адмиралов. Уверяю вас, что я попробовал.
В конце 1953 года она предложила выражать проблемы обработки данных с помощью ключевых слов на английском языке, но руководство Rand сочло эту идею неосуществимой. В начале 1955 года она и ее команда написали спецификацию такого языка программирования и реализовали прототип. [2] Компилятор FLOW-MATIC стал общедоступным в начале 1958 года и был практически завершен в 1959 году. [3]
и Инновации влияние
Система Лэнинга и Цирлера была первым языком программирования, предназначенным для анализа алгебраических формул. Когда Хоппер узнала об этом языке в 1954 году, это изменило траекторию ее работы. [4] FLOW-MATIC был первым языком программирования, который выражал операции с помощью операторов, подобных английскому . [3] Это была также первая система, которая четко отделяла описание данных от операций с ними. Его язык определения данных , в отличие от его исполняемых операторов, не был похож на английский; скорее, структуры данных определялись путем заполнения предварительно напечатанных форм. [3]
FLOW-MATIC и его прямой потомок AIMACO в форме COBOL , [5] который включал в себя несколько его элементов:
- Предварительное определение входных и выходных файлов и выходных данных на печать, разделенных на входные файлы, выходные файлы и (HSP) выходные данные высокоскоростного принтера.
INPUT <FILE-NAME> <FILE-LETTER>
;OUTPUT <FILE-NAME> <FILE-LETTER>
;HSP <FILE-LETTER>
. [6] - Квалификация имен данных (
IN
илиOF
пункт). IF END OF DATA (AT END)
пункт в делеREAD
операции.- Образная константа
ZERO
(первоначальноZZZ...ZZZ
, где количествоZ
указанная точность). - Разделение программы на разделы, разделение разных частей программы. Включены разделы Flow-Matic
Computer
(Отдел окружающей среды),Directory
(Отдел данных) иCompiler
(Процедурный отдел).
Пример программы [ править ]
Пример программы FLOW-MATIC: [7] [8]
(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 OPERATION 10 ; IF EQUAL GO TO OPERATION 5 ; OTHERWISE GO TO OPERATION 2 . (2) TRANSFER A TO D . (3) WRITE-ITEM D . (4) JUMP TO OPERATION 8 . (5) TRANSFER A TO C . (6) MOVE UNIT-PRICE (B) TO UNIT-PRICE (C) . (7) WRITE-ITEM C . (8) READ-ITEM A ; IF END OF DATA GO TO OPERATION 14 . (9) JUMP TO OPERATION 1 . (10) READ-ITEM B ; IF END OF DATA GO TO OPERATION 12 . (11) JUMP TO OPERATION 1 . (12) SET OPERATION 9 TO GO TO OPERATION 2 . (13) JUMP TO OPERATION 2 . (14) TEST PRODUCT-NO (B) AGAINST ; IF EQUAL GO TO OPERATION 16 ; OTHERWISE GO TO OPERATION 15 . (15) REWIND B . (16) CLOSE-OUT FILES C ; D . (17) STOP . (END)
Примеры заметок
- Обратите внимание, что этот образец включает только исполняемые операторы программы,
COMPILER
раздел. Поля записиPRODUCT-NO
иUNIT-PRICE
было бы определено вDIRECTORY
раздел, в котором ( как отмечалось ранее ) не использовался синтаксис, подобный английскому. [9] - Файлы обозначаются буквой в конце ФАЙЛА-БУКВЫ. Пример: FILE-A позже упоминается только через A и предназначен для удобства использования в следующем коде.
- Операции нумеруются в непрерывной последовательности от 0 до n и выполняются в этом порядке, если не достигнуто/не сделано (выполнено) обратное утверждение (JUMP и т. д.).
- Операция с наибольшим номером — это та, которая останавливает программу.
- Гораздо более подробный обзор FLOW-MATIC доступен в руководстве под названием «СИСТЕМА ПРОГРАММИРОВАНИЯ FLOW-MATIC». [10]
Примечания [ править ]
- ^ Хоппер (1959) с. 198.
- ^ Хоппер (1978) с. 16.
- ↑ Перейти обратно: Перейти обратно: а б с Бархат (1969) с.
- ^ Бейер, Курт (10 февраля 2012 г.). «10». Грейс Хоппер и изобретение информационного века . МТИ Пресс. ISBN 9780262517263 .
- ^ Бархат (1978) стр. 204.
- ^ Remington Rand Univac, подразделение Sperry Rand Corporation (1957). СИСТЕМА ПРОГРАММИРОВАНИЯ FLOW-MATIC стр. 30.
- ^ Сперри Рэнд (1957) с. 7.
- ^ Бархат (1969) стр. 323.
- ^ Хоппер (1978) с. 18.
- ^ Remington Rand Univac, подразделение Sperry Rand Corporation (1957). СИСТЕМА ПРОГРАММИРОВАНИЯ FLOW-MATIC
Ссылки [ править ]
- Хоппер, Грейс (1978). Основной доклад, История языков программирования I . АКМ. стр. 16–20. ISBN 0-12-745040-8
- Хоппер, Грейс (1959). «Автоматическое программирование: современное состояние и будущие тенденции», Механизация мыслительных процессов , Симпозиум 10 Национальной физической лаборатории. Канцелярия Ее Величества. стр. 155–200, цитируется по Кнут, Дональд; Трабб Пардо, Луис (август 1976 г.). Раннее развитие языков программирования (Технический отчет). Факультет компьютерных наук Школы гуманитарных наук Стэнфордского университета . Проверено 19 марта 2016 г.
- Саммет, Жан (1969). Языки программирования: история и основы . Прентис-Холл. п. 316–324. ISBN 0-13-729988-5
- Саммет, Жан (1978). «Ранняя история COBOL», История языков программирования I. АКМ. стр. 199–243. ISBN 0-12-745040-8
- Sperry Rand Corporation (1957) Представляем новый язык автоматического программирования: Univac Flow-Matic
- Remington Rand Univac, подразделение Sperry Rand Corporation (1957 г.). СИСТЕМА ПРОГРАММИРОВАНИЯ FLOW-MATIC FLOW-MATIC_Programming_System_1958.pdf