FLOW-MATIC: відмінності між версіями
[неперевірена версія] | [неперевірена версія] |
Yuriz (обговорення | внесок) refs |
Yuriz (обговорення | внесок) |
||
Рядок 68: | Рядок 68: | ||
|language = en}}</ref> |
|language = en}}</ref> |
||
<ref name=Knuth76> |
<ref name=Knuth76>{{cite techreport |
||
|first1=Donald |
|||
{{cite techreport |
|||
|last1=Knuth |
|||
|first2=Luis|last2=Trabb Pardo |
|first2=Luis |
||
|last2=Trabb Pardo |
|||
|title=The Early Development of Programming Languages |
|title=The Early Development of Programming Languages |
||
|date=August 1976 |
|date=August 1976 |
||
Рядок 99: | Рядок 100: | ||
|language = en}}</ref> |
|language = en}}</ref> |
||
<ref name=Rand57>{cite book |
<ref name=Rand57>{{cite book |
||
|publisher = Sperry Rand Corporation |
|publisher = Sperry Rand Corporation |
||
|year = 1957 |
|year = 1957 |
Версія за 20:26, 3 червня 2019
FLOW-MATIC, спочатку відома як B-0 (Ділова мова версія 0), була першою англомовною мовою системи обробки даних. Вона була розроблена для UNIVAC I Remington Rand під керуванням Ґрейс Гоппер у період з 1955 по 1959 рік. Мова сильно вплинула на розвиток COBOL.
Розвиток
Гоппер виявила, що клієнтам обробки бізнес-даних було незручно математичне позначення.[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
вказує на точність). - Розбиття програми на розділи, що розділяють різні частини програми. Розділи Flow-Matic включені
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
, який не використовував англійський синтаксис.[7]
Джерела
- ↑ Hopper, Grace (1959). Automatic programming: Present status and future trends (cited in ). Mechanisation of Thought Processes (англ.). National Physical Laboratory Symposium 10. Her Majesty's Stationery Office: 155—200.
- ↑ “Я колись була професором математики. У той час я знайшов там певну кількість студентів, які не могли навчитися математиці. Тоді мені було пред'явлено обвинувачення в тому, щоб бізнесмени могли легко використовувати наші комп'ютери. Я виявив, що мова йде не про те, чи зможуть вони навчатися математиці чи ні, але вони будуть. […] Вони сказали, ‘Викиньте ці символи - я не знаю, що вони означають, я не встиг навчатися символам.’ Я пропоную відповідь тим, хто хотів би, щоб люди, які обробляли дані, використовували математичні символи, які вони в першу чергу намагаються навчити цих символів віце-президентів або полковника або адмірала. Я запевняю вас, що я спробувала це.”[1]:198
- ↑ Hopper, Grace (1978). Keynote Address, History of Programming Languages I (англ.). ACM. ISBN 0-12-745040-8.
{{cite book}}
: Текст «pp. 16–20» проігноровано (довідка) - ↑ а б в г Sammet, Jean (1969). Programming Languages: History and Fundamentals (англ.). Prentice-Hall. с. 316—324. ISBN 0-13-729988-5.
- ↑ Sammet, Jean (1978). The Early History of COBOL. History of Programming Languages I (англ.). ACM. с. 199—243. ISBN 0-12-745040-8.
- ↑ Introducing a New Language for Automatic Programming: Univac Flow-Matic (англ.). Sperry Rand Corporation. 1957.
- ↑ Гоппер (1978) p. 18.
Помилка цитування: Тег <ref>
з назвою "Knuth76", визначений у <references>
, не використовується в попередньому тексті.
<ref>
з назвою «Knuth76», визначений у <references>
в групі «», нічого не містить.
Це незавершена стаття про мови програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |