На 50-ті роки ХХ століття припадає початок розвитку на теренах України абсолютно нового на той час напрямку – кібернетики. Саме в Києві знаходився один з концентрів бувшого СРСР розвитку теорії та практики побудови та організації функціонування електронно-обчислювальних машин. Саме тут жила і працювала Катерина Логвіновна Ющенко – український талант програмування кібернетичних пристроїв.
Ада Лавлейс – піонерка теоретичного програмування
Життя. Ада Августина Байрон (її дівоче прізвище) народилася 10 грудня 1815 року у Міддлсексі (нині це частина Лондону). Батько Ади був Джордж Гордон Байрон, до якого в той час прийшло поетичне визнання. Коли їй виповнився рік, Байрон залишив батьківщину назавжди заради боротьби з несправедливістю, якої було багато в Англії, але ще більше у інших країнах Європи. Можливо ця обставина разом із високим інтелектом, успадкованим від генія, сприяли ранньому перетворенню Ади у дорослу людину і незвичайному для жінки того часу захопленню... математикою. Доля, позбавивши її батька, була доброзичлива в іншому. На самому початку своїх занять математикою вона познайомилася з Чарльзом Беббіджем, математиком, економістом, різнобічно освіченою людиною, який пов'язав своє життя з ідеєю створення "аналітичної машини" – першої у світі цифрової обчислювальної машини з програмним керуванням. Проживши коротке життя, 27 листопада 1852 року Ада померла від раку.
Ада Лавлейс (на фоні діаграми станів аналітичної машини при виконання програми Лавлейс)
Наука. Ада Лавлейс – британський математик, відома тим, що зробила опис ранньої версії обчислювального пристрою загального призначення Чарльза Беббіджа – аналітичної машини. Склала першу у світі програму для цієї машини, але праця Лавлейс над кодом для неї лишилася суто теоретичною конструкцією, і через деякий час була забута. Ввела у вжиток терміни «цикл» і «робоча комірка». Вважається однією із перших програмісток в історії.
"Повторне відкриття" Ади Лавлейс відбулося лише у 1980-х. У 2009 році було започатковано святкування дня Ади Лавлейс. Він присвячений заслугам жінок у STEM і святкується у другий вівторок жовтня.
Катерина Логвинівна Ющенко – винахідниця адресної мови програмування
Катерина Логвинівна Ющенко
Життя К.Л. Ющенко. Катерина Логвинівна Ющенко (у дівоцтві Рвачова) народилася 8 грудня 1919 року в Чигирині в родині вчителів, в колишній столиці запорізьких козаків – місті Чигирині. Її брат – Рвачов Володимир Логвинівич – український радянський математик і механік.
Її батьком був вчителем історії та географії Логвин Федорович Рвачов, який мав необережність провести дітям екскурсію місцями козацької бойової слави. За цю екскурсію у 1937 році його визнали українським націоналістом і заарештували. У цей час Катерина Логвинівна вчилася на першому курсі фізико-математичного факультету Київського університету. Як дочку «ворога народу» 17-річну Катерину виключили з університету. Мати Катерини намагалася довести невинність батька і принесла чекістам документи про його участь у революційному русі. Додому вона не повернулася. Її разом із чоловіком засудили до 10 років тюремного ув'язнення. Принесені документи спалили на її очах. Тільки в 1954 році після смерті Сталіна батьки Катерини Ющенко були реабілітовані посмертно за відсутністю складу злочину.
Після виключення з Київського університету Катерина Ющенко подала документи до Московського університету та вступила до нього, але не могла розпочати там навчання, оскільки там не забезпечували житлом.
Не заспокоївшись, влітку 1938 року Катерина вирішила вступити до Узбецького державного університету в Самарканді. Коли під час війни Узбецький університет об'єднали з Середньоазійським державним університетом в Ташкенті, молода студентка була переведена туди. Одночасно Катерина влаштувалася на роботу на військовому підприємстві, яке випускало приціли для танкових гармат.
Після закінчення війни Катерина Ющенко повернулася до України. Спочатку вчителювала у містечку Стрий. У цей час у Львові відкрилась філія відділу теорії імовірностей Інституту математики АН УРСР. Майбутній академік АН України Борис Володимирович Гнеденко запропонував К.Л. Ющенко роботу в його відділі теорії ймовірностей. У Львівському відділі вона пропрацювала з 1946 по 1950 роки.
В 1950 році під керівництвом Бориса Гнеденка, вона здобула ступінь докторки філософії від Інституту математики Української академії наук і прийняла пропозицію Б. Гнеденка перевестись до Київського інституту математики АН України та переїхати до Києва. Почала працювати спочатку старшим науковим співробітником Інституту математики АН УРСР (1950–1957) – очільником лабораторії «методів обчислень та розрахунків» (1950–1952), згодом перейменованої на «лабораторію методів обчислень та програмування» (1952–1954), начальницею відділу методів обчислень та програмування лабораторії обчислювальної техніки Інституту математики АН УРСР (1954–1957). Інститут математики був в ці роки у розквіті. Його директор – академік Олександр Юрійович Ішлінський – займався теорією гіроскопів – дуже актуальною проблемою в часи, коли будівництво супутників перебувало на початковій стадії. Під час своїх досліджень О.Ю. Ішлінському потрібно було робити складні розрахунки. Для цього було закуплено комплект лічильно-аналітичних машин, які встановили в підвалі будівлі президії АН України. Катерину Логвинівну призначили керівником цієї обчислювальної лабораторії в 1957 році.
К.Л. Ющенко була завідувачкою відділу автоматизації програмування обчислювального центру при АН УРСР до 1962 року, а після цього – завідувачкою відділом теорії програмування Інституту кібернетики АН УРСР.
К.Л. Ющенко написала перші програми для першої ЕОМ (МЕОМ – мала електронно-обчислювальна машина), створеної у НАН України під керівництвом Сергія Олексійовича Лебедєва. За сорок років роботи в Інституті кібернетики ім. В.М. Глушкова НАН України нею створена широковідома в Україні і за кордоном наукова школа теоретичного програмування.
Протягом семи років К.Л. Ющенко обіймала посаду старшого наукового співробітника Київського інституту математики АН УРСР (1950–1957). Вона була членом спільної групи науковців, що оперували МЕОМ. У 1957 році вона стала директором Інституту обчислювальної техніки АН УРСР. Протягом свого сорокарічного служіння в Інституті К.Л. Ющенко створила міжнародно визнану наукову школу теоретичного програмування.
Науковий внесок К.Л. Ющенко. У Феофанії, у приміщенні старого монастиря тридцять науковців протягом 1948—1951 років розробляли перший у континентальній Європі комп'ютер — МЕОМ – малу електронну обчислювальну машину. Попри назву «мала» цей комп'ютер займав 60 м.кв. Уздовж стін простягались фанерні макети, в які вмонтували 6000 радіоламп, конденсатори та резистори. Машина ніколи не працювала вдень. Найменший стрибок напруги переривав довгі обрахунки, а їй було потрібно стільки електроенергії, що ці стрибки були неминучі. Пам'ять машини на той час була якихось сотні байт.
Мала електронна обчислювальна машина
Подібні машини на той час були тільки у Великобританії та США.
В 1952 році творця першої ЕОМ Сергія Лебедєва перевели у Москву для нових розробок, а комп'ютерного первістка передали науковцям київського Інституту математики. Аби розібратися з технічним дивом, зі Львова викликали найкращих науковців, серед яких була Катерина Ющенко.
У процесі роботи з МЕОМ стало зрозуміло, що складні завдання легко розв’язуються, якщо написати прості машинні програми. Отже, потрібно було розробити мову програмування високого рівня. Але при цьому виникла проблема: відсутність відповідного перекладача (транслятора) для кращого спілкування людини та комп’ютера. Л.І. Калужнін, професор Київського університету, який викладав курс математичної логіки в 1950–1970-х рр., зробив значний прогрес у розумінні цієї проблеми та формалізував схему взаємодії з програмою. Слідом за цим розвитком у 1955 році Ющенко, спільно з математиком Володимиром Королюком, розробили адресну мову програмування – засновану на двох загальних принципах роботи на комп'ютері: адресація та управління програмним забезпеченням.
Винахід Ющенко допоміг писати програми, що не залежали від місця в пам'яті комп'ютера і розташування масивів даних.
Створюючи зручну систему концепцій для опису архітектури комп'ютера та її системних інструкцій, мова, таким чином, стала засобом маніпулювання адресами другого рангу. Внесок Катерини Ющенко став першим фундаментальним досягненням радянської школи теоретичного програмування. Ця мова забезпечувала вільне розташування програми в пам'яті комп'ютера.
Саме створення «Адресної мови» стало першим фундаментальним досягненням наукової школи теоретичного програмування. Випередивши створення перших мов програмування – Фортран (1958), Кобол (1959) і Алгол (1960), адресна мова програмування Address підготувала появу не тільки мов програмування з апаратом непрямої адресації, але й асемблерів, а її конструкції увійшли до складу сучасних мов.
В Адресній мові програмування введено опосередковану адресацію та адресацію вищих рангів (аналог вказівників), на основі деревоподібних форматів даних (абстрактні типи даних являють собою аналог).
Адресна мова програмування містить в собі вичерпні декларативні засоби програмування, які покривають можливості SQL.
Адресна мова програмування була реалізована на ЕОМ «Київ», «Дніпро», на комп'ютерах С.О. Лебедєва — М20, БЕСМ-2, БЕСМ-3, БЕСМ-3М, БЕСМ-4, на комп'ютерах сімейства «Урал» та сімейства «Мінськ». Ці комп'ютери серійно виробляли в бувшому СРСР та постачали разом з Адресною мовою програмування в усі країни Східної Європи.
На Адресній мові з використанням її декларативних засобів вперше в світі була створена таблична база даних реляційного типу – Автодиректор (кінець 50-х років), яка послугувала основою при створенні відомої автоматизованої системи «Львів» для концерну «Електрон».
Втім, тодішні партійні керівники науки прийняли рішення припинити майже закінчену реалізацію транслятора Адресної мови на БЕСМ-6. С.О. Лебедєв наполягав на завершені розробки транслятора, але йому це не вдалось. З 1965 р. було припинено розробку трансляторів Адресної мови програмування у зв'язку із забороною публікувати наукові роботи по цій мові.
Попри це Адресну мову програмування використовували у країнах Східної Європи ще понад 10 років. Книги по Адресному програмуванню перекладено та видано у Польщі, Болгарії, Східній Німеччині, Румунії, Югославії, Данії та Франції [2].
Фактично, К.Л. Ющенко була засновником першої радянської школи теоретичного програмування. Протягом 1970–80-х років теоретичне програмування стало предметом її власних досліджень. Одним із головних досягнень школи на той час було створення алгебраїчних методів граматики для синтезу програмного забезпечення.
Катерина Логвинівна спільно з Б.В. Гнеденком і В.С. Королюком написала перший в СРСР підручник з програмування «Елементи програмування». Книга була видана в 1961 році і перевидана в 1964 році. Побачили світ і її переклади: в 1964 році в НДР і Угорщині, а в 1969 році — у Франції.
Перші в світі програми обробки зображень — теж були написані київськими програмістами на Адресній мові програмування (кінець 50-років). Представлялися зображення точками (растрова графіка) та аналітичними формулами (векторна графіка). На Адресній мові програмування були створені перші в світі програми розпізнавання образів: розпізнавання простих геометричних фігур, друкованих та рукописних літер і цифр. При цьому були застосовані методи навчання, які наразі називають «машинне навчання».
У 1970–1980-ті роки остаточно склався предмет дослідження теоретичного програмування. Основним досягненням школи у цей час стало створення алгебро-граматичного (АГ) апарату синтезу програмного продукту.
У 1990-ті роки школа теоретичного програмування сконцентрувала зусилля на дослідженні АГ-методів представлення знань про моделі організації обчислень і дружнього інтерфейсу користувача при проєктуванні і розробці баз даних і знань для систем прийняття рішень, експертних систем і методів одержання знань для них, навчаючих систем різної орієнтації.
Пройшовши сорокарічний шлях досліджень, теоретичне програмування збагатилося власним розвинутим формально-алгоритмічним апаратом, а предмет досліджень істотно розширився від процедурних мов до методів подання знань, що складають штучний інтелект інструментарію розробників прикладних систем. Як спосіб спілкування з комп'ютером і засіб розробки програм, мови трансформувалися у алгоритмічні системи зі збалансованими наборами конструктивів.
Облікова картка Катерини Логвинівни Ющенко
Наукові праці К.Л. Ющенко. Серед бібліографії Катерини Логвинівни – праці з теорії імовірностей, алгоритмічних мов і мов програмування, методів побудови автоматизованих систем обробки даних.
Ющенко працювала над теорією ймовірностей, алгоритмічними мовами та мовами програмування та розробкою методів автоматизованих систем обробки даних.
Щоб підготувати програмістів, Ющенко написала навчальну серію підручників у 1970-х. Катерина Логвинівна Ющенко мала п'ять свідоцтв про авторські права, які розробили вісім Державних стандартів України. Вона є авторкою понад 200 рукописів, включаючи 23 монографії та навчальні посібники. Частина цих творів має від двох до трьох видань та перекладена більш ніж на 5 мов на міжнародному рівні, включаючи німецьку, чеську, угорську, французьку, датську тощо.
У наступні роки вона підготувала 45 кандидатів і 11 докторів наук. Київська школа теоретичного програмування стала відомою далеко за межами Радянського Союзу. К.Л. Ющенко були присуджені дві Державні премії України (Державні премії УРСР) і премія Ради Міністрів СРСР, а за теоретичні розробки в області комп'ютерної алгебри — академічна премія імені Глушкова.
Талановита програмістка, Катерина Логвинівна отримала 5 авторських свідоцтв.
Схожість та різниця між Адою Лавлейс та Катериною Ющенко
Катерина Логвинівна Ющенко (у дівоцтві Рвачова) народилася 8 грудня 1919 року - через сторіччя після леді Лавлейс. Початок її творчої діяльності співпав з роками відродження і здійснення геніальної ідеї Бебіджа.
У її житті є моменти, що нагадують долю великої англійки, але ще більше того, що властиве лише українцям.
У юності вона теж була позбавлена близькості батька, але не тому, що він залишив її, а через те, що його у 1937 році заарештували і засудили на 10 років позбавлення волі. Була заарештована й мати, яка намагалася довести його невинність.
Як і леді Лавлейс доля подарувала їй можливість написати перші програми для першої (цього разу на континенті Європи) ЕОМ "МЕОМ", створеної понад сто років після проекту Беббіджа в Академії наук України під керівництвом іншого генія – Сергія Олексійовича Лебедєва. Вони дуже схожі на ті, що колись склала леді Лавлейс.
Нарешті, обидві жінки чудові тим, що однаково присвятили життя одній улюбленій справі, – цифровим обчислювальним машинам і їхньому програмному забезпеченню.
На цьому, мабуть і закінчується деяка подібність у їхніх долях.
За життя Катерина Логвинівна стала членом-кореспондентом НАН України, заслуженим діячем науки, лауреатом премій Ради Міністрів СРСР, двічі – Державної премії України, премії імені В.М. Глушкова.
За сорок років роботи в Інституті кібернетики ім. В.М. Глушкова Національної академії наук України нею створена широковідома в Україні і за кордоном наукова школа теоретичного програмування
Список використаної літератури
- Перша програмістка у світі. Ала Августа Лавлейс. Електронний ресурс: http://www.icfcst.kiev.ua/MUSEUM/ada_u.html
- Ада Лавлейс. Електронний ресурс: https://uk.wikipedia.org/wiki/Ада_Лавлейс
- Дочка «ворогу народу». Електронний ресурс: http://www.icfcst.kiev.ua/MUSEUM/Ushchenko-memoirs_u.html
- Катерина Логвинівна Ющенко – основоположник теоретичного програмування в Україні. Електронний ресурс: http://www.icfcst.kiev.ua/MUSEUM/theoretical_u.html
- Ющенко Катерина Логвинівна. Електронний ресурс: https://uk.wikipedia.org/wiki/Ющенко_Катерина_Логвинівна
Статтю підготувала студентка ІІI курсу спеціальності Математика денної форми навчання Діана Нікіфоренко (група МІ18Б) у межах звіту про вивчення курсу «Історія науки і техніки» (викладач – професор Р.Я. Ріжняк). Презентацію до статті можна скачати тут.