Больше рецензий

24 ноября 2020 г. 13:53

75

5 Унікальність та далекоглядність Адресної мови програмування

Книга цікава тим, що в ній описується унікальна та далекоглядна Адресна мова програмування (1955р.) та наводяться приклади програм на цій мові.

Авторкою Адресної мови програмування (АМП) є Катерина Логвинівна Ющенко. АМП реалізовано на низці ЕОМ радянського виробництва: ЕОМ «М-20», сімейства «БЕСМ» (окрім БЕСМ-6), сімейства «Урал», «Дніпро» та сімейства «Мінськ» тощо.

Далекоглядність та унікальність Адресної мови
АМП випередила винахід найважливішого інструменту всіх сучасних імперативних мов програмування - вказівників (Pointers) - на 9 років. Першою закордонною мовою з вказівниками стала універсальна мова програмування PL/1. Це сталося лише через 9 років після того, як вказівники були винайдені Катериною Ющенко та включені в АМП (1955 р.) разом зі «штрих-операцією» або операцією розіменування вказівника (Dereference operator). Через «залізну завісу» та «холодну» війну в капіталістичних країнах не було відомо про досягнення українських вчених та інженерів в галузі ІТ. Рада управління Комп'ютерного товариства «Інститут інженерів з електротехніки та електроніки» (IEEE) у 2000 р. відзначила Гаролда Лаусона за винахід ним вказівників у 1964 р. найпрестижнішою нагородою в галузі ІТ - медаллю «Піонер інформаційних технологій» Про помилковість думки щодо винаходу саме Гарольдом Лаусоном вказівників та про факт винаходу їх саме К.Л. Ющенко написав іноземний програміст Alvaro Videla у 2018 р.

Розіменування вказівників (Dereference operator of Pointers) було вперше апаратно реалізовано на ЕОМ "Київ" у 1955/56р.

Адресна була реалізована і на більшості ЕОМ радянського виробництва, для яких були розроблені компілятори АМП: ЕОМ "Київ", «М-20», сімейства «БЕСМ», сімейства «Урал», «Дніпро» та сімейства «Мінськ» тощо. Концепція Адресного програмування вплинула на програмне забезпечення ЕОМ «Стріла», «Промінь», «МІР-1», «МІР-2» тощо.
Наявні в АМП:
1) унікальна «мінус штрих-операція» (обернена до операції розіменування Pointer), яка за заданою адресою визначає всю множину вказівників, результатом розіменування яких є задана адреса;
2) предикатні функції;
3) операції над множинами,
покривають декларативні засоби програмування та наприкінці 50-х років дозволили українським програмістам розробити першу в світі систему керування базами даних реляційного типу – «Автодиректор».
В АМП було передбачено паралелізм: оператори, які записані в одному рядку, могли виконуватись одночасно чи у довільному порядку.
Наприкінці 50-х років, завдяки АМП, уперше в світі була забезпечена незалежність роботи програми від розміщення у пам’яті. Наразі цю особливість використовують власники комп’ютерів, планшетів та смартфонів кожного разу, як тільки завантажують програми-додатки у свій пристрій.
Однією з цілей створення АМП програмування було забезпечення можливості перенесення програм з одного комп’ютера на інші комп’ютери із іншою архітектурою.
Перший підручник для студентів з АМП видано у 1963 р. та майже одразу перекладено та видано в Болгарії, Румунії, Чехословаччині, Польщі, НДР, Югославії, Данії, а у Франції у 1974 р.
АМП була реалізована на першому комп’ютері китайського виробництва (аналогу ЕОМ «Дніпро», який серійно виготовлявся в Китаї на заводі, побудованому за допомогою київських вчених та інженерів).
Комуністичний режим директивно у середині 60-х років вирішив перейти до використання Алголу та Фортрану, з одночасною відмовою від застосування АМП та забороною розробки нових компіляторів, інтерпретаторів та трансляторів з АМП. У зв’язку з цим реалізацію АМП на унікальному великому швидкодіючому комп’ютері БЕСМ-6 (серійне виробництво з 1965р. по 1989р.) було припинено. Однак, програмісти соціалістичних країн писали програми на Адресній мові ще до середини 70-х років. Так, для відображення графічної інформації на великому екрані в системі спостереження за сумісним зі США польотом «Аполлон-Союз» (Москва, 1975 р.) використовувались ЕОМ «Київ» та бібліотека обробки графічних зображень Адресної мови програмування.
Перші в СРСР компілятори для мов Фортран та Алгол-60 було розроблено на Адресній мові. Початкові тексти програм на Фортрані чи Алголі-60 перекладались (транслювались) на Адресну мову. Результат перекладу виконував існуючий компілятор Адресної мови.