Loading AI tools
З Вікіпедії, вільної енциклопедії
FLOW-MATIC, спочатку відома як B-0 (Ділова мова версія 0), була першою англомовною мовою системи обробки даних. Вона була розроблена для UNIVAC I Remington Rand під керуванням Ґрейс Гоппер у період з 1955 по 1959 рік. Мова сильно вплинула на розвиток COBOL.
FLOW-MATIC | |
---|---|
Парадигма | імперативне програмування і процедурне програмування |
Дата появи | 1955 |
Творці | Ґрейс Гоппер |
Платформа | UNIVAC I |
Гоппер виявила, що клієнтам обробки бізнес-даних було незручно математичне позначення.[2] Наприкінці 1953 р. вона запропонувала, щоб проблеми обробки даних були виражені за допомогою англійських ключових слів, але керівництво Remington Rand вважало цю ідею неможливою. На початку 1955 р. вона і її команда написали специфікацію для такої мови програмування та реалізували прототип.[3]:16 Компонент FLOW-MATIC став відкрито доступним на початку 1958 р. І був практично завершений у 1959 р.[4]:316
По-перше, FLOW-MATIC була першою мовою програмування, де використовувалася структура мови[en], подібна до речення англійською мовою.[4]:316
По-друге, FLOW-MATIC була першою системою, яка чітко відокремила опис даних від операцій на них. Мова опису даних, на відміну від її виконуваних тверджень не була англійською; Швидше за все, структури даних були визначені шляхом заповнення попередньо надрукованих форм.[4]:316
Flow-Matic мав ключовий вплив на дизайн мови COBOL, оскільки у практичному використанні на той час були тільки Flow-Matic і її безпосередній нащадок AIMACO.[5]:204 Кілька елементів Flow-Matic були включені в COBOL:
INPUT
і OUTPUT
.IN
або OF
положення).IF END OF DATA (AT END)
положення про операції з файлами READ
.ZERO
(оригінально ZZZ...ZZZ
, де кількість Z
вказує на точність).Computer
(Environment Division), Directory
(Data Division), і Compiler
(Procedure Division).Зразок програми FLOW-MATIC:[6]:7[4]:323
(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
, який не використовував англійський синтаксис.[3]:18
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.