Історія винайдення Pointers
(опосередкованої адресації вищих рангів),
спискових ланцюжків та складних ієрархічних структур
.
.
Орієнтовано для програмістів та ІТ-фахівців, які знайомі з програмуванням та мають уяву про Pointers
Дуже цікава тема для програмістів та надзвичайно важлива для людства, оскільки детально пояснює причини та процес винайдення Pointers, які являють собою найважливіший засіб для ІТ та, зокрема, для програмування.(опосередкованої адресації вищих рангів),
спискових ланцюжків та складних ієрархічних структур
.
... Доповнюється ... Доповнюється ... Доповнюється ... Доповнюється ... Доповнюється ... Доповнюється ... Доповнюється ... Доповнюється
.
Орієнтовано для програмістів та ІТ-фахівців, які знайомі з програмуванням та мають уяву про Pointers
Зміст
- 1. Вступ: значення Pointers для людства.
- 2. Визначення Pointers та інших понять.
- Адресація 2-ого рангу (Pointers) та адресація вищих рангів.
- «Штрих-операція» або розіменування Pointers.
- Багатократне розіменування Pointers (multiple indirection).
- Команда додавання команд.
- Плаваюча адресації (floating addressing) та її розбіжність від адресації 2-ого рангу (Pointers).
- Особливості бібліотечного програмування в комп’ютері МЕОМ.
- Змінно-спаяна пам’ять та бібліотечне програмування в комп’ютера «Київ».
- 3. Кроки появи Pointers.
- 3.1. Модулювання Pointers в комп’ютері МЕОМ.
- задача перебору значень.
- реалізація імперативною мовою програмування.
- складнощі реалізації командами комп’ютері МЕОМ.
- Перша програма з адресацією 2-ого рангу (Pointers).
- 3.2. Народження Pointers (опосередкованої адресації вищих рангів).
- перший СТЕК з адрес для повернення керування вкладеними підпрограмами смінно-спаяної пам'яті.
- опосередкована адресація вищих рангів та "штрих-операція":- апаратна реалізація в архітектурі комп'ютера "Київ";
- в Адресній мові програмування;
- побудови ланцюжків даних та для маніпуляцій з множинами;
- складних ієрархічних структур (деревоподібних форматів).
- 4. Два відношення слідування як універсальний засіб групування та з'єднання даних та програм.
- 5. Декларативність Адресної мови програмування.
- "Обернена штрих-операції" (обернене розіменування Pointers) Ющенко Ю. О. Окремі аспекти декларативності "мінус штрих-операції" / Ющенко Ю. О. // Наукові записки НаУКМА. Комп'ютерні науки. - 2020. - Т. 3. - С. 17-26.
- Декларативна потужність формули циклування. Про це написано тут: Розробка архітектури комп′ютера "Київ" за концепцією адресного методу програмування / Ю.О. Ющенко // Проблеми програмування. — 2021. — № 4. — С. 103-118. — Бібліогр.: 46 назв. — укр.
- 1. Вступ: значення Pointers для людства
Вказівники необхідні в базах даних, в штучному інтелекті, застосовуються в Інтернет технологіях, та взагалі: використовуються як найпотужніший засіб у всіх сучасних технологіях програмування.
Усі додатки які завантажуються в комп’ютери, планшети, смартфони, тощо, розроблено з використанням Pointers (Вказівників) та без них не обходиться жодний сучасний засіб програмування.
У 2000р. міжнародний Інститут інженерів з електротехніки та електроніки (Institute of Electrical and Electronics Engineers, IEEE) вручив найпрестижнішу нагороду в галузі ІТ - медаль "Комп'ютерний Піонер" - американському вченому Гарольду Лоусону (Harold Lawson) саме за винайдення Pointers у мові програмування PL/1, хоча їх було винайдено українцями на 9 років раніше.
Існує багато беззаперечних доказів випередження українців у винайдені Pointers. Найбільш вагомими подтверждениями є апаратна реалізація маніпуляцій з Pointers, зокрема операції їх розіменування (Dereference operator) та, навіть, багатократного розіменування (Multiple indirection of Pointers) в системі команд комп'ютера "Київ" (1956р.) та наявність опосередкованої адресації вищих рангів в Адресній мові програмування (1955р.). Систему команд комп'ютера "Київ" та Адресна мова програмування описано в монографії: Глушков В.М., Ющенко Е.Л. Вычислительная машина «Киев»: математическое описание. : (рус.) / — Техн. лит., 1962. — 183 с. .
У 1966р. цю монографію було перекладено англійською мовою та видано у США: The Kiev Computer; a Mathematical Description / V. M. Glushkov, E. L. Yushchenko // Translation Division, Foreign Technology Div., Wright-Pattenon AFB, Ohio, Mar 1966 – 234 p. – 1966, ASIN: B0007G3QGC, FTD-TT-65-972, TT-66-62056. – (Англійською).
Також винайдення Null-Pointer помилково приписують іншому відомому американському вченому Тоні Гоару (Tony Hoare) у 1965р., хоча значення "0" для визначення того, що вказівник не має значення використовувалась киянами значно раніше в комп'ютерах "Київ", "М-20", "Дніпро" тощо. Про вказівник (адресу) зі значенням "0" багатократно згадується в описі Адресної мови програмування, зокрема для визначення кінцевого елементу спискового ланцюжка.
Помилковість визнання винаходу Pointers полягає у тому, що у часи холодної війни залізна завіса не сприяла обміну науковими досягненнями, досягнення українців публікувались російською та українською мовами та не були доступні закордонним вченим.
Окрім цього партійно номенклатурні керівники науки були зацікавлені у замовчуванні та приховуванні цих досягнень, оскільки це сприяло приниженню їхнього особистого внеску.
Суттєвою перепоною у поширенні досягнень українців відіграла розбіжність термінів введених українськими вченими у 50-х роках з термінами запропонованими американціми через 9 років та які були прийняті світовою спільнотою та дотепер використовуються у сучасному програмуванні.
Для прозорості розуміння у наступному пункті наводиться відповідність між термінами, які були введені в Адресній мові, з сучасними термінами.
Наступний пункт спростить розуміння термінів Адресної мови програмістам, які побажають ознайомитись з цією мовою по першоджерелам.
2. Визначення Pointers та інших понять
Адресація 2-ого рангу (Pointers) та адресація вищих рангів
Адресація 2-ого рангу (Pointers) та адресація вищих рангів