FLOW-MATIC, спочатку відома як B-0 (Ділова мова версія 0), була першою англомовною мовою системи обробки даних. Вона була розроблена для UNIVAC I Remington Rand під керуванням Ґрейс Гоппер у період з 1955 по 1959 рік. Мова сильно вплинула на розвиток COBOL.
FLOW-MATIC | |
---|---|
Парадигма | імперативне програмування і процедурне програмування |
Дата появи | 1955 |
Творці | Ґрейс Гоппер |
Платформа | UNIVAC I |
Розвиток
Гоппер виявила, що клієнтам обробки бізнес-даних було незручно математичне позначення. Наприкінці 1953 р. вона запропонувала, щоб проблеми обробки даних були виражені за допомогою англійських ключових слів, але керівництво Remington Rand вважало цю ідею неможливою. На початку 1955 р. вона і її команда написали специфікацію для такої мови програмування та реалізували прототип.:16 Компонент FLOW-MATIC став відкрито доступним на початку 1958 р. І був практично завершений у 1959 р.:316
Інновації та вплив
По-перше, FLOW-MATIC була першою мовою програмування, де використовувалася [en], подібна до речення англійською мовою.:316
По-друге, FLOW-MATIC була першою системою, яка чітко відокремила опис даних від операцій на них. Мова опису даних, на відміну від її виконуваних тверджень не була англійською; Швидше за все, структури даних були визначені шляхом заповнення попередньо надрукованих форм.:316
Flow-Matic мав ключовий вплив на дизайн мови COBOL, оскільки у практичному використанні на той час були тільки Flow-Matic і її безпосередній нащадок .:204 Кілька елементів Flow-Matic були включені в COBOL:
- Визначення файлів заздалегідь та розділення на
INPUT
іOUTPUT
. - Кваліфікація імен даних(
IN
абоOF
положення). IF END OF DATA (AT END)
положення про операції з файламиREAD
.- Образна константа
ZERO
(оригінальноZZZ...ZZZ
, де кількістьZ
вказує на точність). - Розбиття програми на розділи, що розділяють різні частини програми. Flow-Matic мав наступні розділи (у дужках наведені COBOL-еквіваленти):
Computer
(Environment Division),Directory
(Data Division), іCompiler
(Procedure Division).
Приклад програми
Зразок програми FLOW-MATIC::7: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
, який не використовував англійський синтаксис.:18</ref>
Джерела
- Hopper, Grace (1959). Automatic programming: Present status and future trends. Mechanisation of Thought Processes (англ.). National Physical Laboratory Symposium 10. Her Majesty's Stationery Office: 155—200. Також процитовано у Кнут, Пардо (1976).
- “Я колись була професором математики. У той час я знайшла там певну кількість студентів, які не могли навчитися математиці. Тоді переді мною поставили завдання зробити так, щоб бізнесмени могли легко використовувати наші комп'ютери. Я з'ясувала, що питання не у тому, чи можуть бізнесмени вивчити математику, а у тому, чи хочуть вони це робити. […] Вони говорили: «Викиньте ці символи — я не знаю, що вони означають, і я не маю часу, щоб це вивчати». Відповідь, запропонована мною тим, хто закликає спеціалістів з обробки даних вивчити математичні символи, була такою: навчіть спочатку тим символам віце-президентів, або полковника, або адмірала. Я запевняю вас — я це спробувалае.”:198
- Hopper, Grace (1978). Keynote Address, History of Programming Languages I (англ.). ACM. с. 16–20. ISBN .
- Sammet, Jean (1969). Programming Languages: History and Fundamentals (англ.). Prentice-Hall. с. 316–324. ISBN .
- Sammet, Jean (1978). The Early History of COBOL. History of Programming Languages I (англ.). ACM. с. 199–243. ISBN .
- (англ.). Sperry Rand Corporation. 1957. Архів оригіналу за 2 липня 2013. Процитовано 11 вересня 2018.
<ref>
з назвою "Knuth76", визначений у <references>
, не використовується в попередньому тексті.
Це незавершена стаття про мови програмування. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
FLOW MATIC spochatku vidoma yak B 0 Dilova mova versiya 0 bula pershoyu anglomovnoyu movoyu sistemi obrobki danih Vona bula rozroblena dlya UNIVAC I Remington Rand pid keruvannyam Grejs Gopper u period z 1955 po 1959 rik Mova silno vplinula na rozvitok COBOL FLOW MATICParadigmaimperativne programuvannya i procedurne programuvannyaData poyavi1955TvorciGrejs GopperPlatformaUNIVAC IRozvitokGopper viyavila sho kliyentam obrobki biznes danih bulo nezruchno matematichne poznachennya Naprikinci 1953 r vona zaproponuvala shob problemi obrobki danih buli virazheni za dopomogoyu anglijskih klyuchovih sliv ale kerivnictvo Remington Rand vvazhalo cyu ideyu nemozhlivoyu Na pochatku 1955 r vona i yiyi komanda napisali specifikaciyu dlya takoyi movi programuvannya ta realizuvali prototip 16 Komponent FLOW MATIC stav vidkrito dostupnim na pochatku 1958 r I buv praktichno zavershenij u 1959 r 316Innovaciyi ta vplivPo pershe FLOW MATIC bula pershoyu movoyu programuvannya de vikoristovuvalasya en podibna do rechennya anglijskoyu movoyu 316 Po druge FLOW MATIC bula pershoyu sistemoyu yaka chitko vidokremila opis danih vid operacij na nih Mova opisu danih na vidminu vid yiyi vikonuvanih tverdzhen ne bula anglijskoyu Shvidshe za vse strukturi danih buli viznacheni shlyahom zapovnennya poperedno nadrukovanih form 316 Flow Matic mav klyuchovij vpliv na dizajn movi COBOL oskilki u praktichnomu vikoristanni na toj chas buli tilki Flow Matic i yiyi bezposerednij nashadok 204 Kilka elementiv Flow Matic buli vklyucheni v COBOL Viznachennya fajliv zazdalegid ta rozdilennya na INPUT i OUTPUT Kvalifikaciya imen danih IN abo OF polozhennya IF END OF DATA AT END polozhennya pro operaciyi z fajlami READ Obrazna konstanta ZERO originalno ZZZ ZZZ de kilkist Zvkazuye na tochnist Rozbittya programi na rozdili sho rozdilyayut rizni chastini programi Flow Matic mav nastupni rozdili u duzhkah navedeni COBOL ekvivalenti Computer Environment Division Directory Data Division i Compiler Procedure Division Priklad programiZrazok programi FLOW MATIC 7 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 Zvernit uvagu sho cej zrazok mistit tilki vikonuvani operatori programi tobto sekciyu COMPILER Polya zapisiv PRODUCT NO ta UNIT PRICE mayut buti viznacheni u rozdili DIRECTORY yakij ne vikoristovuvav anglijskij sintaksis 18 lt ref gt DzherelaHopper Grace 1959 Automatic programming Present status and future trends Mechanisation of Thought Processes angl National Physical Laboratory Symposium 10 Her Majesty s Stationery Office 155 200 Takozh procitovano u Knut Pardo 1976 Ya kolis bula profesorom matematiki U toj chas ya znajshla tam pevnu kilkist studentiv yaki ne mogli navchitisya matematici Todi peredi mnoyu postavili zavdannya zrobiti tak shob biznesmeni mogli legko vikoristovuvati nashi komp yuteri Ya z yasuvala sho pitannya ne u tomu chi mozhut biznesmeni vivchiti matematiku a u tomu chi hochut voni ce robiti Voni govorili Vikinte ci simvoli ya ne znayu sho voni oznachayut i ya ne mayu chasu shob ce vivchati Vidpovid zaproponovana mnoyu tim hto zaklikaye specialistiv z obrobki danih vivchiti matematichni simvoli bula takoyu navchit spochatku tim simvolam vice prezidentiv abo polkovnika abo admirala Ya zapevnyayu vas ya ce sprobuvalae 198 Hopper Grace 1978 Keynote Address History of Programming Languages I angl ACM s 16 20 ISBN 0 12 745040 8 Sammet Jean 1969 Programming Languages History and Fundamentals angl Prentice Hall s 316 324 ISBN 0 13 729988 5 Sammet Jean 1978 The Early History of COBOL History of Programming Languages I angl ACM s 199 243 ISBN 0 12 745040 8 angl Sperry Rand Corporation 1957 Arhiv originalu za 2 lipnya 2013 Procitovano 11 veresnya 2018 Pomilka cituvannya Teg lt ref gt z nazvoyu Knuth76 viznachenij u lt references gt ne vikoristovuyetsya v poperednomu teksti Ce nezavershena stattya pro movi programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi