Створила одну з перших у світі високорівневих мов програмування. Історія української науковиці Катерини Ющенко

Катерина Ющенко (1919–2001) — українська науковиця, програмістка, яка у 1950-х роках першою працювала на комп’ютері МЕОМ (рос. МЭСМ) — першій в СРСР і континентальній Європі електронній цифровій обчислювальній машині. Була одним з керівників розробки унікального комп’ютера «Київ» і відповідала за його архітектуру та програмне забезпечення.

Авторка однієї з перших у світі мов програмування високого рівня — Адресної мови, завдяки якій можна було працювати зі списками та складними ієрархічними структурами. Під її керівництвом створено держстандарт мови Кобол, розроблено стандарти мов Фортран-2, АЛГАМС, Алгол-68, АДА, Фортран-77, Паскаль, ПЛ/1, Сі.

Катерина Ющенко стала першим у СРСР доктором наук, який захистив роботу на тему програмування. Сьогодні її портрети висять у престижних музеях світу, а в Україні хочуть знімати серіал, де однією з ключових фігур буде відома винахідниця.

Ми поспілкувалися з сином Катерини Логвинівни Юрієм, доцентом факультету інформатики у Києво-Могилянській академії. Він розповів про повне випробувань життя своєї матері, її досягнення, значення Адресної мови та винайдення вказівників. Також в інтерв’ю Юрій поділився, чим насправді мріяла займатися Катерина Ющенко.

Зліва Юрій Ющенко, справа — Катерина Логвинівна Ющенко

Пам’ять про українську винахідницю: «Від журналістки дізнався, що портрет матері висить у Музеї комп’ютеризації в Блетчлі-Парк»

— Про Катерину Ющенко знають більше за кордоном, ніж в Україні?

Ні, вони знають не більше. Про що зазвичай пишуть і в нас, і за кордоном? Про те, що вона була членом-кореспондентом НАН України, одним з перших програмістів, першим доктором наук у галузі програмування в Радянському Союзі, одним з авторів першого підручника з програмування в СРСР («Элементы программирования» — ред.), який переклали угорською, словацькою, німецькою мовами, а через 14 років після написання його видали у Франції разом з додатками, серед яких була архітектура унікального комп’ютера «Київ».

Ще пишуть про те, що вона запропонувала одну з перших мов програмування — Адресну мову, створила школу теоретичного програмування в Союзі. Згадують, що вона мала понад 200 наукових праць. І зауважують про те, що мала такі-то нагороди та державні премії, що була ініціаторкою першої масштабної конференції 1968 року у Союзі, де зібралися приблизно 1500 програмістів.

Ще дуже рідко зазначають, що Адресна мова була реалізована на багатьох радянських комп’ютерах: «М-20», «Урал», «Дніпро», «Мінськ». Але про те, скільки років ця мова програмування використовувалася, що її застосовували за кордоном, — пишуть мало.

А ось про те, що мати була вимушена проти своєї волі сісти за арифмометр, взяти в руки логарифмічну лінійку, рахівниці, таблиці значень елементарних функцій і займатися не тим, чим мріяла, — взагалі майже ніхто не говорить.

— Зараз ви багато пишете про Катерину Ющенко, комп’ютери МЕОМ і «Київ». Коли зрозуміли масштаби досягнень своєї матері?

Феофанія, 1958 р. Катерина з сином ЮріємФеофанія, 1958 р. Катерина з сином Юрієм
Звісно, я знав про її досягнення. Коли я закінчував навчання в школі, мати дуже багато мені розповідала про свою роботу: про відомого науковця Сергія Лебедєва й інших інженерів, про те, як складала програми та які вишукані методи програмування винаходила. Дуже багато говорили про унікальність створеної під керівництвом Лебедєва МЕОМ (мала електронна обчислювальна машина) і її важливість для виникнення адресного програмування та створення комп’ютера «Київ», який перевершив за архітектурою навіть комп’ютери Лебедєва «БЭСМ» (большая или быстродействующая электронная счётная машина) та «БЭСМ-2». А в «М-20» відомий академік взяв те, що придумала мати з інженеркою Катериною Шкабарою. Розповідала, що, коли мені був приблизно рік, я бачив МЕОМ.


Коли мені було років вісім, до нас завітав сам Сергій Лебедєв. Після того, як він пішов, мати мені сказала: «Запам’ятай цю людину, це велика людина! Ти маєш пам’ятати його все своє життя. І пишатися, що бачив його». Протягом життя мати мені нагадувала, що я бачив самого Лебедєва. В одній організації вони не працювали, але зустрічалися та між ними все життя були теплі та дружні стосунки. Катерина Логвинівна використовувала результати Лебедєва: МЕОМ та документацію до цього комп’ютера, працювала з його учнями, соратниками та друзями. А він взяв на озброєння винаходи матері та інженерки Катерини Шкабари для «Києва», вивчив і знав Адресну мову та її можливості.

Коли я вчився на першому-другому курсі на факультеті кібернетики Київського державного університету, мати, можна сказати, наполегливо вмовила мене вивчити Адресну мову програмування. У 1977–78 роках, коли я вже був на третьому-четвертому курсі, вийшла книжка Дональда Кнута «Искусство программирования» в трьох томах. Ми її розглядали на гуртку «Алгоритми на графах» в університеті. І коли я ознайомився з алгоритмами Кнута, то згадав, що знаю їх з програм, які були написані Адресною мовою програмування набагато раніше.

Я звернув увагу своєї мами на це. На той час вона знала про цю книжку, переглядала її, але після моїх слів ми вирішили скласти програми з книжок Кнута Адресною мовою. Сіли писати програми обробки абстрактних типів даних, а саме — дерев. Точніше, напевно, писала вона, а я підказував і з інтересом спостерігав за процесом програмування. Призначення деревоподібних форматів Адресної мови збігається з призначенням абстрактних типів даних, але має окремі концептуальні відмінності.

Тоді мені здавалося це трошки застарілим: в Адресній мові не було гарної сучасної термінології, бо вона створювалась у 1950-х, коли ще не існувало змістовних термінів: однозв’язні та двозв’язні списки, дерева тощо. Термін «опосередкована адресація» адресного програмування перетворився на загальновизнаний програмістами всього світу термін «вказівник»... Але потужність засобів самої мови я зрозумів, ще коли був студентом перших курсів.

— А коли ви вирішили більш серйозно вивчати діяльність Катерини Логвинівни?

Після університету я закінчив аспірантуру, потім працював програмістом, тож у мене не було часу на це. Взагалі тривалий період мені здавалося, що всі знають про мамину роботу. Я зустрічався з Борисом Малиновським (український винахідник, кібернетик, конструктор першої в СРСР напівпровідникової ЕОМ «Дніпро» — ред.), він багато писав, зокрема про маму. Коли вона померла у 2001 році, мене стало турбувати, що про неї мало інформації в інтернеті. Але ще бракувало часу взятися за це серйозно.

А у 2018 році я випадково натрапив на статтю програміста, блогера Альваро Відела, який зазначає, що вказівники винайшла Катерина Ющенко у 1955 році. Я став дивитися, що пишуть про це українські, радянські програмісти. Передивився усе — ніхто не написав жодного слова! Мене це зачепило.

Буквально за кілька місяців після того зі мною сконтактувала знімальна група зі Сполучених Штатів Америки, яка приїхала спеціально до Києва робити документальний фільм про Катерину. Ми поспілкувалися один раз телефоном, та, на жаль, зустрітися нам не вдалося, бо я був не в місті. Але готувався для того, щоб надати їм більш правдиву й точну інформацію, і почав більше ознайомлюватися з історичними джерелами. Про долю фільму мені нічого невідомо, бо більше зі мною не зв’язувалися.

Фото з Музею комп'ютеризації у Блечтлі-ПаркФото з Музею комп’ютеризації у Блечтлі-Парк
Ще за місяць на мене вийшла українська журналістка, яка писала статтю про мою мати. Від неї я дізнався, що портрет Катерини висить при вході у павільйон історії програмування дуже престижного й відомого Музею комп’ютеризації поблизу Лондона в Блетчлі-Парк, де Алан Тюрінг розшифровував секретні німецькі повідомлення. А всередині є стенд з фотографією Катерини Логвинівни і з невеличкими надписами про те, хто вона.


До речі, та стаття Альваро Відела стала сенсаційною за кордоном, було дуже багато дописів у соцмережах, де люди дивувалися з того, що прочитали. Були й такі, що зазначали, що це фейк і цього просто не могло бути. Але мати сама мені казала років за 10 до смерті, що саме вона винайшла вказівники, а у світі помилково вважають, що це зробив Гарольд Лоусон 1964 року. Ось так я дійшов до того, що мене стурбувало та зацікавило, і став робити дописи у Facebook і Twitter.

Про початок кар’єри: «Деякий час у Києві мати була вимушена мешкати на вокзалі з валізою»

— Ви сказали, що Катерина Лонгвинівна була вимушена займатися не тим, чим мріяла. А чим вона хотіла займатися? Чому так вийшло?

Вона мріяла займатися теоретичною математикою, у неї були вагомі результати в галузі теорії імовірностей, яких вона досягла ще у Львові. Там матір мала державну квартиру від Інституту математики, майже у центрі міста. Це були післявоєнні роки. У 1950 році вона пристала на пропозицію академіка Бориса Гнєденка перевестись до Київського інституту математики АН УРСР (тепер НАН України). Вона здала державне житло та поїхала. І деякий час була вимушена мешкати на вокзалі з валізою.

У Києві Катерина Логвинівна, коли їй було 30 років, захистила кандидатську дисертацію та мріяла й далі досліджувати свою тему. Але дуже скрутне матеріальне становище змусило її погодитись на пропозицію директора Інституту математики Олександра Ішлінського очолити Лабораторію методів обчислень і розрахунків, бо той пообіцяв надати житло.

У 1951 році вона познайомилася зі своїм майбутнім чоловіком, моїм батьком, який закінчив мехмат Київського університету. Після вишу його прирядили до лабораторії, де працювала мати; він теж писав програми на МЕОМ. Коштів у них було мало, тож довелося винаймати темну та сиру кімнату в підвальному приміщенні. У 1952-му батьки отримали від Ішлінського кімнату в будинку Інституту математики, тобто робоче приміщення. Зручності — в кінці коридору, в кімнаті — дві валізи, дві розкладачки, спіральна електроплитка, стіл з шухлядами для паперів, один стілець — більше не треба було, адже працювали в сусідньому кабінеті. Саме там народився мій старший брат. Наприкінці 1953 року батьки переїхали у Феофанію. Тут у них уже була половина будинку: кімната, коридор, веранда, піч; зручності — на вулиці.

— Чим займалася ваша мати ці роки?

Її завдання були пов’язані з навігацією, бо Ішлінський займався теорією гіроскопічних систем для пароплавів, океанських і повітряних суден, а згодом балістичних та космічних ракет. Тому вже тоді мати мала доступ найвищого рівня до державної таємниці.

Наприкінці 1951-го ввели в експлуатацію комп’ютер МЕОМ. Ще до того мати знала від відомих математиків, що цю машину планують передати для обчислень їхній лабораторії. На самому початку 1952 року вона стала працювати на МЕОМ. Невдовзі завагітніла першим сином, а працювати було дуже складно (на жаль, про це чомусь ніхто не пише).

Як програмували на цьому комп’ютері? Роботу над однією задачею розбивали на багато етапів. Однією програмою не можна було зробити весь підрахунок, частину доручали комп’ютеру, а частину виконували математики з арифмометрами. Для комп’ютера складали тільки ті програми, які треба було виконувати багато разів: нема сенсу писати програму у двійкових кодах, вводити, заводити, запам’ятовувати це все тільки на один раз. Також брали програми, які мали велику трудомісткість розрахунків.

Тобто одна програма не могла розраховувати все від початку до кінця та видати відповідь. МЕОМ працювала ненадійно, рахувала з помилками, були збої. Комп’ютеру не можна було довіряти на 100 %, тому всі програми виконувалися двічі, тричі. А ще математики вручну рахували, приблизно перевіряючи, чи комп’ютер дає правильну відповідь. На МЕОМ виконували розрахунки для оборонної, космічної галузей, народного господарства.

Однак архітектура цього комп’ютера, зокрема маленький обсяг пам’яті, обмеженість його ресурсів, спонукала вдосконалити технології програмування, адже потрібно було скласти програму, маючи всього 126 комірок для програми й 62 комірки для даних. При цьому МЕОМ могла опрацьовувати тільки дані з фіксованою точкою. Тож серед іншого розробили вишукані методи моделювання обробки чисел з плаваючою точкою.

Складали програми багато математиків. Але Катерина Логвинівна у всьому брала участь, принаймні як консультантка, як найбільш досвідчена фахівчиня у програмуванні. Вона була в курсі складнощів програмування усіх задач, враховуючи їхню різноманітність. Це стало поштовхом до вдосконалення програмування, тобто до його автоматизації. Мати неодноразово наголошувала на тому, що саме обмеженість пам’яті МЕОМ змушувала замислюватись над «хитрими» прийомами виходу зі скрутних ситуацій. Необхідність економити пам’ять спонукала писати програми, ефективні за часом, розміром потрібної пам’яті. Це сприяло перегляду операторного методу програмування та вдосконаленню засобів маніпуляції адресами.

Інструкції, які давали математики для обчислювання, почали наближувати до того, що можна ввести в комп’ютер. А з іншого боку, ті програми, що потім писали для «Києва», вводили в пам’ять комп’ютера обчислювачі, які мали розуміти програму в мнемонічних кодах і потім їх перетворювати на двійковий код. Відбувалося зближення того, що подається у комп’ютер, з тим, що видають математики. І коли воно стало ідентичним, з’явився адресний метод програмування, щоб прискорити та полегшити використання комп’ютера.

МЕОМ. 1953/54 р.

Адресна мова програмування: «Вперше у світі були реалізовані задачі розпізнавання образів методом машинного навчання»

— Який рік вважають роком створення адресного програмування?

Це дуже складне питання. Зі слів мами можна зробити висновок, що шлях до програмування високого рівня почався ще до того, як стали використовувати комп’ютер МЕОМ. Оці інструкції, які видавали математики тим математикам, які обертали ручку арифмометра, теж програмували, але виконавцем був не комп’ютер, а людина. Це вже була майже мова програмування. Комп’ютер ще не міг її зрозуміти, але вона вже містила в собі формалізми, які увійшли у мови програмування високого рівня, зокрема в Адресну. Це відбувалося настільки поступово, що неможливо вказати точну дату.

— А коли вона була завершена?

Є декілька версій. Але у джерелах, зокрема в «Енциклопедії кібернетики», зазначено 1955–56, бо саме тоді вперше запрацював процесор комп’ютера «Київ». У його системі команд містилися засоби програмування високого рівня, або базису адресної мови програмування.

Як це сталося? Передісторія така: до 1951 року Сергій Лебедєв працював у Києві, керував розробкою МЕОМ у Феофанії. Ще на початку 1948-го він запросив на науковий семінар математиків, у тому числі Ішлінського, Гнєденка тощо, які висловлювали свої пропозиції щодо системи команд, які мають бути у комп’ютері, щоб виконувати розрахунки було зручно. До системи команд додали звичайні прості можливості: розгалуження, перевірка умов, переходи, циклування для того, щоб підраховувати формули зі значками сума від 1 до n або до нескінченності чи добуток від одиниці до n. Гнєденко запропонував Лебедєву збільшити заплановану ним розрядність комірок для чисел у МЕОМ з 12 до 17. Якби такого збільшення не відбулось, то точність розрахунків з трьома десятковими цифрами зробила б комп’ютер непридатним для розв’язку реальних задач.

Паралельно з МЕОМ Лебедєв працював над створенням «БЭСМ», але доробляв її вже у Москві, бо там йому виділили на це приміщення та кошти. Але до кінця 1951 року академік ще приїжджав у Київ для того, щоб стежити, як завершують роботи над МЕОМ.

Коли Сергій Лебедєв поїхав, наші науковці засумували та мріяли продовжити робити київську «БЭСМ». До речі, тут залишилися навіть якісь шафи, приміщення, які готував Лебедєв, щоб зібрати «БЭСМ» у Феофанії. Отже, інженери обговорювали, що це має бути за комп’ютер, що він має робити, яка в ньому має бути система команд, але нічого реально у ящиках не паяли, не збирали.

Тож коли у 1954 році з’являється Борис Гнєденко (він якраз повернувся з Німеччини, де читав лекції), об’єднуються колишня лабораторія Лебедєва з частковим складом лабораторії, яку очолювала моя мати. Створюється нова лабораторія при Інституті математики, де офіційно проголошують про початок розробки комп’ютера «Київ» — уже з розумінням головних архітектурних особливостей.

Вже 1955 року його процесор запрацював. Найважливіше в ньому були команди, які задавали цикли. Однак там були не просто цикли, а й можливість з’єднувати дані у ланцюжки, складні ієрархічні структури — і це все перелічене було в системі команд комп’ютера «Київ».

Львів, 1946 р. На світлині Б. Гнєденко та брат Катерини Володимир (крайній поруч з Катериною)

Під час своїх досліджень я ознайомився з мовою програмування німецького інженера Конрада Цузе — Планкалкюль, яка є першою мовою високого рівня. У 1940-х вона не була реалізована, але у 2000-му створили її компілятор — просто заради демонстрації її працездатності, як історичну реліквію, бо для практичного використання вона непридатна. Мене здивувало, як Конрад Цузе подивився у майбутнє, застосував головні можливості програмування високого рівня. Він міг на Планкалкюлі представляти навіть позицію шахової дошки. У мові були структури, але елементарні: з’єднувати дані можна було тільки в комірках, жодних списків, вказівників або чогось схожого не було.

— У чому полягає важливість створення Адресної мови?

На комп’ютері «Київ» за допомогою Адресної мови зробили першу у світі табличну базу даних реляційного типу, щоб можна було з’єднувати довільним потрібним чином дані між собою. Завдяки тому, що в Адресній мові є вичерпні засоби декларативного програмування, нею можна зафіксувати розв’язки задач, які записуються основними конструкціями мови SQL — JOIN. У реляційних базах є ключі: FOREIGN KEY, PRIMARY KEY, а в Адресній мові програмування їхню роль виконують адреси, які зв’язують згруповані дані.

Адресною мовою програмування вперше у світі були реалізовані задачі розпізнавання образів методом машинного навчання. Це кінець 1950-х — початок 1960-х! Комп’ютер «Київ» навчили розпізнавати друковані та рукописні літери та цифри.

Нею розробили першу у світі розумну річ. Це була розумна домна у місті Дніпродзержинськ (тепер — Кам’янське). Тобто комп’ютер був у Києві й він керував технологічним процесом виплавлення сталі за 500 кілометрів звідси. Сигнали з датчиків доменної печі передавалися телеграфними лініями у столицю на комп’ютер «Київ», а керівні сигнали, коли треба щось вимикати, підливати, підмішувати, з «Києва» передавалися тими самими лініями до цеху. Тут трошки відчувається технологія Internet of Things.

Дуже важливе питання, пов’язане з Адресною мовою програмування — це емуляція (відтворення програмними або апаратними засобами роботи інших програм — ред.). На машині «Київ» розробили програму, яка повністю емулювала комп’ютер «Дніпро». Навіщо? «Дніпро» декілька років перебував у розробці, і необхідно було підготувати програмне забезпечення для того комп’ютера, який ще не зібрали. Тож на цьому емуляторі створили компілятор Адресної мови програмування для комп’ютера «Дніпро». Це було дуже важливо, оскільки щойно комп’ютер був зібраний, він одразу почав працювати і з нього могли робити серію.

Адресною мовою програмування написали систему автоматизованого проєктування електричних плат. Ці плати були потрібні для створення військових приладів і техніки, побутової техніки, а також самих комп’ютерів. Комп’ютери «Дніпро», «Промінь», МІР-1 робили за допомогою цієї системи. Адресна мова вплинула на комп’ютери «М-20» («БЭСМ-3», «БЭСМ-3М», «БЭСМ-4), «Урал», «Мінськ»...

Несподівана заборона: «Адресна мова програмування нібито була дуже складна для розуміння, але я не сприймаю цього»

— У Вікіпедії написано, що конструкції Адресної мови «увійшли до складу сучасних мов» — про що саме йдеться?

Вважають, що Lisp — перша мова обробки списків. Вибачте, але у 1955 році була вже Адресна мова, яка мала всі ці можливості обробки спискових ланцюгів. При цьому 1958 року Lisp була тільки запропонована на папері (коли її реалізували, мені точно невідомо). Адресну ж мову програмування одразу використовували. Ще у «вдосконаленій» мнемонічній мові для МЕОМ з’являються конструкції та засоби майбутньої Адресної мови. Це одна з причин, чому не можемо вказати точної дати її винайдення.

Базова частина Адресної мови — це система команд комп’ютера «Київ». Але для зручного використання програмістами мали бути «збільшені» конструкції системи команд, і вони мали наблизитись до математичних позначок. Спочатку на «Урал-1» інженери писали Адресною мовою, а потім програми Адресною мовою «переводились» у машинні програми. В першій монографії Катерини Ющенко «Адресное программирование и особенности решения задач на машине УРАЛ» детально описані інструкції для такого перетворення.

Тепер про те, як конструкції Адресної мови увійшли до інших мов. Почну з України. Мова програмування високого рівня, яку розробили для машин «Промінь», мова програмування для МІР-1, автокоди для «Дніпро-2» — спадкоємці Адресної мови. А компілятор «Т4» для «Дніпро-2» — реалізація засобів Адресної мови, але без використання цієї назви та посилання на неї. Річ у тім, що у 1965 році за рішенням вченої ради Адресну мову заборонили.

Є така серія мов програмування, які називають автокодами. Їх вважають машинозалежними мовами програмування або порівнюють, ототожнюють з Асемблером. Частково це так. Але у них є засоби високого рівня програмування. І автокод для радянських комп’ютерів «Дніпро-2», «Мінськ», «Мінськ-22» — це машинозалежні мови, подібні асемблерам, але з можливостями високорівневого програмування, які містили потужні засоби адресації адресного програмування: опосередковану адресацію, списки та складні ієрархічні структури.

Скажу кілька слів про те, як Адресна мова вплинула на програмування у СРСР. У 1963 році тут ще не було абстрактних типів даних, вказівників. Відомий у всьому світі програміст Андрій Єршов створив мову Альфа для комп’ютерів Лебедєва «М-20» («БЭСМ-3», «БЭСМ-3М», «БЭСМ-4»). Для «БЭСМ-6» було реалізовано систему Альфа-6. Опис мови Альфа використовує термінологію Адресної мови, а у можливостях визначати та оброблювати структури даних відчутний вплив адресного методу програмування.

У Києві розробили мову А-Кобол — вперше у світі до Коболу додали вказівники та можливість обробки складних ієрархічних структур (тих можливостей, до яких звикли київські програмісти під час програмування Адресною мовою). За кордоном до мови Кобол вказівники були додані пізніше, ніж у нас.

Щодо можливостей обробки списків. Був такий видатний вчений Анатолій Кітов — начальник обчислювального центру Міністерства оборони Радянського Союзу, який відносив Адресну мову програмування до мов обробки списків — Lisp тощо. У 1963 році він вперше опублікував концепцію «асоціативного програмування» і виступив з нею на конференції. Мати мені казала: «Ознайомся з цим програмуванням — і ти побачиш Адресну мову». У своїй книжці «Программирование информационно-логических задач», опублікованій 1967 року, Кітов визнає, що використав метод адресного програмування, і навіть вказує, що саме — адресацію вищих рангів та адресних функцій.

У 1963 році у Сполучених Штатах видають додатки до першого підручника «Элементы программирования». А там серед них є опис архітектури комп’ютера «Київ». Якби досвідчений програміст проаналізував ці додатки, то побачив би вказівники та складні ієрархічні структури. У 1964 році винаходять вказівники у США.

— Ви уже згадували про заборону Адресної мови програмування у 1965 році. У чому полягала причина? Чи припинився взагалі розвиток цього напряму?

Тому що була комуністична влада. Якщо є тоталітарний режим, то рішення ухвалюється одноосібно зверху. Адресна мова була заборонена частково. Наприклад, не можна було більше публікувати статті, монографії з неї, виступати з цією темою на семінарах, конференціях. Припинили реалізовувати мову на нових комп’ютерах. Наприклад, уже на стадії завершення зупинили розробку компілятора Адресної мови для комп’ютера «БЭСМ-6». Лебедєв приїжджав до Києва, щоб переконати українську владу, що розробку компілятора для «БЭСМ-6» потрібно завершити. Але йому не вдалося нічого змінити.

Адресна мова працювала на комп’ютерах, які виготовляли в Радянському Союзі до середини 1970-х років. Комп’ютер «Дніпро» був у виробництві до 1971 року, комп’ютери серії «Урал» — до 1975-го.

— Які є версії, чому її заборонили?

Було проголошено перехід на мови Фортран, Кобол та Алгол-60, які почали використовувати за кордоном. І була потреба швидко навчити багато програмістів. На думку Катерини Ющенко, хибно вважали, що Адресна мова складна для розуміння. Адже запис програм цими мовами не складніший за їх запис Адресною мовою.

— Чому ви вважаєте, що ця позиція була неправильною?

Так, Фортран і Алгол красиві, їхній синтаксис не дуже відрізняється. В обох мовах є цикли, оператор, присвоєння. Адресна мова містила інший синтаксис. Вона не мала красивих слів BEGINNING, END, FOR, IF, TO, але всі ці прості засоби та можливості в ній були. Адресна мова суттєво потужніша за Фортран, Кобол та Алгол-60, бо вона мала можливість визначати спискові структури, складні ієрархічні структури. Так, з першого погляду може здатися, що Адресну мову програмування складніше зрозуміти, ніж інші, але вона писалась для математиків і містила багато математичних термінів. Якщо мова чимось і складніша, то через широкі можливості. Просто небо і земля, якщо її порівнювати з Алголом і Фортраном.

— Як би могла розвиватися історія українського програмування, якби не було обмежень з боку уряду та заборони на Адресну мову програмування?

Якби не було цієї «залізної завіси», Холодної війни, то всі досягнення, зроблені в Києві, були б доступні за кордоном. Це б пришвидшило розвиток тих самих абстрактних типів даних, технологій програмування. Всі найважливіші винаходи та досягнення в тоталітарній державі зрештою приречені на провал.

Зустріч із Норбертом Вінером: «Він був здивований, що ламповий комп’ютер „Київ“ настільки зручний для програмістів»

— У статті про Катерину Логвинівну на сайті «Дзеркало тижня» є такі слова: «Коли батька кібернетики Норберта Вінера 1964 року попросили оцінити стан обчислювальної техніки в СРСР, порівняно зі США, він сказав, що в Союзі вона трохи відстає, хоч і не набагато. Але СРСР випереджає нас у розробці теорії автоматизації. Відділ автоматизації програмування Інституту кібернетики очолювала К. Ющенко!» В чому саме ми випереджали США?

Так, Норберт Вінер потрапив сюди випадково. Він був на конференції в Москві й просто вирішив приїхати в Київ, бо, здається, у нього є українське коріння. Він чув про наші досягнення в галузі програмування, тож звернувся до Академії наук, і йому одразу знайшли аспіранта, який знав англійську мову. Звичайно, його привели й на Лисогірську в обчислювальний центр при Академії наук. Він зустрічався з вченим Віктором Глушковим, Катериною Шкабарою та, звісно, з Катериною Ющенко. Вінер був здивований, що ламповий комп’ютер «Київ» (у них уже були напівпровідникові) настільки гарний, зручний для програмістів, що на ньому розв’язуються задачі розпізнавання простих геометричних фігур, рукописних та друкованих літер і цифр. Сам процес автоматизації програмування його вразив. Тож він зазначав, що у Сполучених Штатах елементна база комп’ютерів краща, але у програмуванні вони відстають від нас.

Це відставання можна представити у цифрах. Вказівники за кордоном винайшли на дев’ять років пізніше. Абстрактні типи даних (у нас це деревоподібні формати в Адресній мові) — приблизно на 10 років пізніше. Перші бази даних (наскільки це зараз важливо!) створили в Києві на рубежі 1950–1960-х років. При цьому вони не дуже відрізнялися від реляційної бази даних, яку запропонував британський вчений, співробітник IBM Едгар Кодд у 1970-х.

Ще є така сучасна архітектура комп’ютера — RISC. Я в процесорах не фахівець, але спеціалісти стверджують: у комп’ютері «Київ» була застосована технологія RISC-процесора, а це на декілька десятиліть раніше, ніж взагалі цей термін з’явився у світі.

— Чи ще спілкувалася Катерина Ющенко з іноземними науковцями?

За кордон вона не їздила: не можна було, адже в неї був найвищий рівень доступу до державної таємниці. Але вона таки була в Угорщині й ще, здається, у Східній Німеччині або Чехії, тобто у соціалістичних країнах.

— А про що вони тоді спілкувалися з Вінером, якщо багато чого не можна було згадувати?

Вона розповідала про програмування, що вони роблять, які задачі розв’язують, але то були задачі, не пов’язані з оборонною промисловістю, і ті, що не були під грифом державної таємниці.

Норберт Вінер в обчислювальному центрі АН УРСР. 1960 р.

Діяльність після 1965 року: «Як такого кар’єрного зростання у матері не було»

— Після 1965 року чим найбільше займалася ваша мати?

Найбільше вона програмувала у 1950-ті. Потім мати перестала кодити, вона керувала розробкою програмних систем. І все розуміла до найдрібніших операторів. Писала підручники з програмування та складала державні стандарти мов, консультувала щодо наукових робіт з ІТ, долучалася до найважливіших розробок. Вона все життя присвятила програмуванню.

— А як щодо кар’єрного зростання?

У 1950 році вона очолила Лабораторію методів обчислення і розрахунків і фактично нею керувала все подальше життя (лабораторію кілька разів переорганізовували та 1962 року перетворили на відділ № 145 з автоматизації програмування Інституту кібернетики). Захистила 1965 року докторську дисертацію. Ще її обрали в члени-кореспонденти за видатні успіхи в розвитку науки, почесні академіки міжнародних організацій з інформатики...

Як такого кар’єрного зростання у матері не було. Керівну роль їй запропонували один раз та всупереч її мріям і вподобанням. Життєві обставини змусили її погодитись очолювати лабораторію з арифмометрами та «забути» про теорію імовірностей — галузь, у якій мати досягла суттєвих результатів, які знайшли застосування у квантовій механіці. Мати не була кар’єристкою та засуджувала кар’єристів. Її цікавила наукова діяльність, а не керівні посади.

Здобуття ступеня доктора наук є фіксацією її наукових досягнень. Після цього їй серед іншого підвищили зарплату. Мати жила скромно, не прагнула розкішного життя. Утримувала трьох дітей, свою маму та свекруху. Батько отримував не дуже високу зарплатню доцента.

Бути справжнім керівником наукового проєкту — не кар’єра, а велика відповідальність. Це не висока посада, а тяжка праця. Бути формальним керівником, отримувати усі лаври легко. Катерина такою ніколи не була. Саме тому всі її поважали. Вона ділилася своїми ідеями, всім йшла назустріч, намагалася допомогти. Ось таким є її «кар’єрне зростання».

— Катерина Ющенко стала першим в СРСР доктором фізико-математичних наук у галузі програмування. Наскільки це було складно, враховуючи, що процес таких захистів ще не був налагоджений?

Не було вченої ради із захисту наукових досягнень в галузі інформаційних технологій та програмування, що спричиняло складнощі. Тому мати пройшла за математичною спеціальністю. Це була перша дисертація в Союзі, яку захищали з програмування.

Колаж з обкладинок книжок з описом Адресної мови

— Напевно, ваша мати відкрила шлях для наступників, які теж хотіли захиститися з цієї теми?

Так, вона відкрила шлях іншим. За три роки, у 1968-му, другу в СРСР докторську дисертацію з програмування захистив уже згаданий Андрій Єршов. Мати була опонентом понад 40 докторських робіт з програмування та підготувала майже 60 кандидатів наук (у джерелах пишуть 47) і 11 докторів наук. Багато з її учнів стали відомими вченими, академіками та членами-кореспондентами.

— Ще читала, що ваша мати була професором в Університеті ім. Шевченка...

Так, вона читала лекції там після того, як 1957-го чи 1958 року це перестав робити Володимир Королюк. Мати викладала в університеті до 1980-х. Працювала за сумісництвом спочатку на факультеті мехмату, потім на факультеті кібернетики (брала участь у його створенні).

— Цікаво, що ще до Другої світової саме з цього вишу Катерину Логвинівну виключили...

Так, у 1936-му вона вступила на механіко-математичний факультет університету Шевченка, склала зимову сесію на відмінно, але її відрахували як «доньку ворога народу». У той час її батька заарештували та звинуватили в «буржуазному націоналізмі», а відтак ув’язнили. Коли Катерина про це дізналася, то сама розповіла на університетських зборах. Наступного дня її виключили з вишу.

— Ваша мати ніколи не проводила паралелей, що колись її виключили з університету Шевченка, а потім вона там викладала?

Ні, вона розуміла, що це були такі, на жаль, жахливі часи. Зрештою вона вивчала математику в Узбецькому державному університеті в Самарканді, який під час війни об’єднали зі Середньоазійським державним університетом у Ташкенті. І закінчила цей виш у 1942-му.

— Чим займалася Катерина Логвинівна останні роки у часи незалежності? До якого віку працювала?

До дня смерті. Вона очолювала відділ автоматизації програмування в Інституті кібернетики приблизно 34 роки. Але вже в останні роки передала керівництво своїй учениці Ользі Перевозчиковій. А мати перевели на посаду радниці дирекції: вона працювала з документами вдома, до неї приходили співробітники... Їй складно було їздити громадським транспортом, тому, коли збирали вчені ради, ради із захисту кандидатських і докторських дисертацій, за нею приїжджала автівка та відвозила її на роботу, а потім назад додому. До речі, свого часу мати керувала найбільшим підрозділом в обчислювальному центрі АН УРСР, який налічував 40 співробітників, що становило приблизно половину штату усього центру.

Про особисте: «Тримає в руках дисертацію, гортає сторінки та смажить млинці»

— Якою людиною була ваша мати? Як встигала займатися і родиною, будинком, коли в неї було троє дітей?

По-перше, вона лягала спати останньою, а просиналася першою. Завжди була зайнята якоюсь працею, не мала спочинку. Яскравий приклад: ми приїжджаємо на дачу, і, поки розвантажуємо з багажника речі, мати вже сапою поле грядки.

Наш колишній декан Микола Глибовець, з яким я разом навчався, згадував: «Приходжу я до Катерини за відгуком, бо вона була моїм опонентом на захисті кандидатської. Вона зустрічає мене на кухні, тримає в руках дисертацію, читає, гортає сторінки та смажить млинці».

Ще один спогад: відпочиваємо в Алушті, живемо у кімнаті сімферопольського спортивного табору з п’ятьма ліжками. Режим дня: мати прокидається о 5-й ранку, з 5:30 до 6:30 йде на пляж, стоїть на сонечку, купається і приходить ще до сніданку.

Поснідали. Тоді ми, діти, з батьком йдемо на пляж до обіду, а мати кидає матрац з ліжка на підлогу, бо там не так спекотно, обкладається книжками та паперами, щось читає, пише, пише... Вона завжди брала з собою у відпустку повну валізу книжок і документів. Після обіду ми знову йдемо на море, повертаємося ввечері, а мати продовжує читати. Іноді ближче до вечора вона ходила на пляж, підставляла обличчя сонечку та купалася. Бувало, приєднувалася до нас удень, але на пляжі під тентом вона знов розкладала навколо себе папери та придавлювати їх камінцями. Пам’ятаю, одного разу, коли вона так працювала, подув вітер — і папери розлетілися по всьому пляжу, тож ми, діти, бігали і їх збирали. Отакий «відпочинок».

Мама писала поеми, вірші, дуже гарно малювала. Саме вона прищепила мені любов до образотворчого мистецтва, зацікавила канонами композиції, розповіла про золотий перетин. Коли вона була дитиною, то брала участь у шкільних постановках, писала сценарій для вистави. У неї було багато друзів. Так, з однієї подругою з Чигирина вона переписувалася до останніх днів: ці листи, написані рукою матері, зберігаються зараз у місцевому музеї.

Катерина з синами Андрієм (старший) та Юрієм (молодший)

— Читала, що ваш батько дуже підтримував Катерину Логвинівну, щоб вона могла поєднувати сім’ю та роботу?

Так, ще бабусі допомагали. Також у нас була няня Паша. Батьки взяли її з села з родини, де було понад 10 маленьких дітей, які недоїдали. Їй було 14–15 років. Вона допомагала доглядати нас, водила на прогулянки до лісу. Ця дівчина стала нам рідною.

Батько дбав, щоб удома були продукти, а також робив дрібний ремонт у квартирі: все міг власноруч полагодити. Крім того, водив нас у поліклініку — цим мати займалася дуже рідко. Якось вона прийшла зі мною чи сестрою до лікаря. Медсестри, дізнавшись, що вона є нашою мамою, переглянулися між собою, сказали: «А ми думали, що діти — напівсироти, що у них є тільки батько».

— Читала спогади онучки Анни, вона казала, що бабуся в неї асоціювалася зі святом. Також дивилася єдине відео з Катериною Логвинівною, де якраз зняте родинне свято. А з чим у вас асоціюється мати?

Так, це спогади моєї племінниці. Пригадую, коли ми були дітьми, на Новий рік мати ходила до сусідів, переодягалася в Діда Мороза: надягала білу бороду, червоного капелюха, одягала світлий халат. І ми вдавали, ніби віримо, що це справжній Дід Мороз. Нас дуже веселило, що батьки думали, ніби ми не впізнали мати :)

Про життєві випробування: «Праця на бавовняних полях в Самарканді та небезпечна робота запальником у шахті»

— У вашій родині багато було математиків або програмістів?

Чому взагалі мама так зацікавилася математикою? Тут «провина» бабусі — Ксенії Рвачової. Бабуся виховувалася без матері, а її батько був лісничий. Звісно, школи у лісі не було. Якось до них приїхав знайомий і подарував їй книжку — задачник з математики, показав, як читати літери. Через деякий час приїжджає, питає: «Ну що, навчилася читати? Тепер навчу тебе розв’язувати задачі». — «Я вже всі задачі розв’язала». — «Як це? У тебе ж нема ні аркуша, ні олівця, ні ручки! Ти не могла цього зробити!» — «А я паличкою біля річки на пісочку писала».

Потім через скрутне матеріальне становище бабуся пішла працювати до заможних людей домробітницею, а там були діти, які мали проблеми з математикою. Вона почала їх підтягувати. І так вдало, що її стали рекомендувати, тож вона заробляла репетиторством. Ці люди дозволяли їй користуватися бібліотекою, бабуся розповідала, що траплялися дуже цікаві математичні книжки, зокрема східних авторів про головоломки, логічні задачі. Вона все це опанувала та закінчила гімназію екстерном. Тут теж була цікава історія: вона збирала кошти, щоб скласти іспити, але за тиждень до екзаменів у неї вкрали гроші з матраца, де вона їх ховала. Дівчата з гуртожитку швиденько зібрали потрібну суму та подарували їй, бо бабуся завжди всім з радістю по дружбі допомагала.

Потім вона познайомилася в Чернігівській області з майбутнім чоловіком, і вони переїхали у Чигирин, де бабуся працювала в школі. Усі її діти стали математиками або фізиками, це взагалі відома родина в Україні. У Чигирині є вулиця сім’ї Рвачових. Брат матері Володимир Рвачов — академік, був ректором Харківського інституту радіоелектроніки, вигадав відому у всьому світу R-функцію. Інший брат Олексій був видатним фізиком, усе життя очолював кафедру в Харківському авіаційному університеті...

— У вас є відео на YouTube про біографію Катерини Логвинівни, в описі якого зазначаєте, що це ролик «про скрутне життя винахідниці вказівників». Що ваша мати вважала найбільшою перепоною, випробовуванням для себе?

Репресія батьків і відрахування з університету Шевченка. Ще працю під пекучим сонцем на бавовняних полях неподалік Самарканду. Також коли вона була студенткою, то виконувала дуже небезпечну роботу запальником у шахті.

— Це під час війни?

Так, під час війни, коли завершила навчання в університеті. Потім вона ще працювала на заводі з налагодження прицілів для танків, причому вони мали справу з дуже шкідливими для здоров’я речовинами: якщо потрапляло на шкіру — виїдало повністю, щось значно сильніше, ніж сірчана кислота.

Потім випробуванням стало те, що вона, приїхавши до Києва та не маючи даху над головою, не могла повернутися у Львів. Тож у неї було два варіанти: або знову викладати математику в школі у Стрию, де вона працювала до Львова, або погодитися працювати у Києві й обертати ручку арифмометра. Для неї це було страшне рішення, бо руйнувало її мрії продовжувати дослідження з теорії ймовірності, вона все життя про це шкодувала.

Якщо ще говорити про перепони, то мати часто казала, що чоловіки — негідники, кар’єристи, зрадники. Мати мала на увазі, що чоловіки не дають жити та просуватися жінкам. Але при цьому і виправдовувала їх, бо «чоловік має годувати сім’ю, заробляти гроші, щоб забезпечити дружину та дітей».

У нашій сім’ї мати була головою в усьому. І не тому, що заробляла більше, ніж батько, а тому, що була авторитетом, мудрою, завжди ухвалювала більш виважені рішення. Батько водночас при вирішенні сімейних питань не вважав себе другорядним, бо мати завжди знаходила лагідні та переконливі аргументи та підтримувала його авторитет перед дітьми. Він почувався на одному рівні з мамою.




— Ви сказали, що Катерина Логвинівна все життя шкодувала про те, що їй не вдалося реалізувати мрії щодо продовження досліджень у теорії ймовірностей. Це при тому, що вона досягла таких висот у галузі програмування?

Так, жалкувала, що не пішла тим шляхом, про який мріяла з дитинства. Казала, що її доля склалася б інакше, якби вона продовжувала дослідження з теорії ймовірностей. Я двічі гостював у Бориса Гнєденка в Москві. І він про мою мати казав так: «Це невтомна, талановита та неймовірно скромна людина. Їй не годен у слід ступити жоден з моїх учнів».

Гнєденко пояснив, що за декілька місяців мати розв’язала дуже складну задачу, яку він перед нею поставив. І це вона змогла зробити завдяки підготовці високого рівня в галузі комбінаторного аналізу в Середньоазійському університеті. І моя мати, і бабуся розповідали, що в Середній Азії заклади, де здобувають математичну освіту, можуть дати фору європейським вишам.

І Гнєденко, який під час Другої світової сам захистив кандидатську дисертацію у Ташкенті, мені сказав: «Я знаю, як готують у середньоазійських університетах, тож щойно я побачив, що у твоєї матері диплом з відзнакою, зрозумів, що переді мною талановитий математик».

— А яка ваша особиста мрія, пов’язана зі вшануванням пам’яті матері? Чого б ви хотіли та навіщо?

Щоб встановили пам’ятник на її честь, як це зроблено за кордоном для усіх першопрохідців у ІТ: Ади Лавлейс, Чарлза Беббіджа, Конрада Цузе тощо. Назвали іменем матері одну з вулиць чи проспектів у Києві. Щоб у підручники інформатики додали інформацію про Катерину Ющенко. А ще заснувати державну премію її імені...

Наразі в усіх закордонних джерелах та майже в усіх вітчизняних першими мовами програмування називають Фортран, Кобол та Алгол-60. При цьому Адресна мова, створена на кілька років раніше, за своїми можливостями перевершує їх. Тож Україна має донести світовій спільноті про винайдення і першої мови програмування, яка мала велике практичне значення, і вказівників, списків, складних ієрархічних структур та декларативних засобів програмування. І пишатися досягненнями наших науковців у сфері ІТ.

Похожие статьи:
Понад 8 років я працюю у сфері розробки програмного забезпечення, переважно з JavaScript і RoR, і всі 8 років беру участь в open source. Серед...
За підрахунками Харківського IT-кластера в Україні налічується від 14 000 до 18 000 заброньованих айтівців. Про це повідомили...
Міністерство цифрової трансформації ініціює створення мобільного застосунку для інформаційної системи «Е-резидент»....
Компания Lenovo объявила о выходе на российский рынок семейства новых тонких ноутбуков ideapad 300. Это универсальные...
Ізраїльська платформа з управління хмарними інфраструктурами Uniskai від Profisea Labs надає безкоштовний доступ для...
Яндекс.Метрика