Катерина Ющенко — винахідник вказівників

10 август, 2022 - 18:56Леонід Бараш

Згідно з Вікіпедією, вказівни́к, пока́жчик або пока́зник, іноді також посилання (англ. pointer або reference) — тип даних в комп'ютерних мовах програмування, об'єкт програми, що містить адресу іншого об'єкта в пам'яті комп'ютера.

Вказівники разом з операцією їх розіменування (англ. dereference operator) були введені Катериною Логвинівною Ющенко у 1955 р. в “Адресній мові програмування”.

Якщо згідно з історією, Гарольду Лоусону (Harold Lawson) приписують винайдення покажчиків у 1964 році для мови програмування PL/1, то саме Катерина Логвинівна Ющенко придумала цю ідею ще в 1955 році, коли вона створила мову адресного програмування. На жаль, на «Заході» мало знають про мову адресного програмування, оскільки більшість її підручників надруковані російською.

Ким була Катерина? Вона народилася 8 грудня у 1919 році у місті Чигирині, Україна. Навчалася в АН України, де закінчила аспірантуру. Вона була першою жінкою в СРСР, яка здобула ступінь кандидата фізико-математичних наук із програмування. Але шлях до цього був нелегким.

У 1937 році її виключили з Київського університету, оскільки її батька звинуватили як «ворога народу». Вона подала документи в Московський університет і поступила, але не змогла почати навчання, оскільки там не надали житло.

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

Лише після війни вона повернулася в Україну, де змогла продовжити навчання та здобути ступінь кандидата наук.

У 1950 році Борис Васильович Гнеденко, колишній керівник «Катерини», був призначений дійсним членом Української Академії Наук. Його новий кабінет розмістився в Київському інституті математики. Як тільки він туди переїхав, то запросив Катерину до себе.

З 1950 року Катерина стала старшим науковим співробітником Київського інституту математики. Там вона мала можливість працювати на комп’ютері MESM, одному з перших комп’ютерів у континентальній Європі. Через сім років, у 1957 році, вона була призначена директором Інституту обчислювальної техніки.

В Інституті обчислювальної техніки вона працювала над мовою адресного програмування, писала про неї книги. У 1961 році вона була співавтором книги «Елементи программирования» (рос.). Книгу використовували в усьому СРСР і країнах Східного блоку. Під її керівництвом було захищено 56 докторських дисертацій!

Так хто ж винайшов вказівники? Відповідно до деяких джерел, це був Андрій Колмогоров, радянський математик, який вперше описав їх у статті “К опрелению алгоритма”, УФН, т. XIII, вып. 4(82), 1958. Сучасне уявлення про вказівники та те, як ми дізналися про них у мовах програмування, очевидно, походить від Гарольда Лоусона (Harold Lawson). Він отримав за це нагороду IEEE. Про це немає дискусій. Лоусон отримав нагороду, тому що зробив їх частиною синтаксису мови в PL/1 ще в 1964 році.

Але водночас у 1955 році Ющенко створила Адресну мову програмування, яка також могла використовувати адреси аналогічним чином як вказівники. Дійсно, можливо, що в 60-х роках минулого століття в західних країнах ніхто не знав про роботу Ющенко та її соратників. Це були часи холодної війни.