«Катерина Ющенко — творець програмування». Міфологія чи таки реальність?

Натрапив в інтернетах, точніше в фб-ср...обговореннях на таку тему.

Катерина Ющенко — творець програмування

Посилання про це від євангелізатора теми (Юрій Ющенко www.facebook.com/...​le.php?id=100063578301122)

yushchenko.infoua.net

24tv.ua/...​a_dlya_kompyutera_n628640

Тепер текст від автора, надісланий мені особисто, як відповідь на мої коментарі в фб.

imgur.com/a/iPefnX7

Можу надати детальну інформацію щодо Адресної мови програмування.

1. Вперше концепцію адресного програмування, яка основа якої є опосередкована адресація вищих рангів опубліковано у 1954р. : Питання теорії і практики програмування / В.С.Королюк, К.Л.Ющенко // Збірник ОЦ АН УРСР. — 1954. — № 4.

youtu.be/BnAEjMnWycA — тут про портрет при вході до павільйону історії програмування у Всесвітньому музеї історії інформаційних технологій у Блетчлі Парку (Великобританія під Лондоном).

Це пост зі сторінки музею у Блнтчлі Парку. На одному з фото видно стенд з портретом К.Л.Ющенко.

www.facebook.com/...​OC/posts/4026082380778432

Адресна мова була реалізована на комп’ютерах: Київ, М-20 (серії БЕСМ з № 3), серії Урал, серії «Мінськ», «Дніпро», «Дніпро-2». Загальний термін використання мови — понад 20 років.

Адресна мова має засоби обробки списків (подібно Lisp), які було апаратно реалізовано в архітектурі комп’ютера «Київ». В адресній мові вперше використана опосередкована адресація (винайдено Pointers) вищих рангів: en.wikipedia.org/...​uter_programming)#History

Обробку вказівників апаратно реалізовано в архітектурі «Київ», зокрема «штрих-операцію» (розіменування Pointers).

У 1957 р. було видано підручник «Элементы программирования» (КДУ), Який перевидано у 1961р., 1963р. перекладено на та видано у низці Європейських країн, а у 1969р. у Франції. Додатки до цього підручника з описом архітектури комп’ютера «Київ» перекладено та видано у США в 1963р. В описі архітектури наявні засоби високорівневого програмування командами «Київ», зокрема задання циклів та складних ієрархічний структур, включаючи «indirection of Pointers). При цьому про Pointers мали знати у 1963р., коли у 1964р. нібито їх винайшли у США.

Адресна мова має вичерпні декларативні можливості.

Приклад фрагментів програм на С++, щоб зняти будь-які сумніви, що адресна мова не є мовою програмування високого рівня.

scontent.xx.fbcdn.net/...​UcP4jxguroKmw&oe=61DEC645

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

youtu.be/3ohE3njX8P0

Унікальність МЕОМ (або МЕСМ) спонукала до грандіозних київських винаходів (Адресне програмування та архітектура «Київ»). Адресне програмування вплинуло на архітектуру усіх подальших київських комп’ютерів. Адресне програмування вплинуло на подальші розробки С.О.Лебедєв (починаючи з М-20) та архітектуру комп’ютерів серії «Урал», «Мінськ» тощо. Про це написано в Енциклопедії Кібернетики (Том 1 на стор. 30). youtu.be/sRhSeXhACq4

Додаткові пояснення можу надати голосом: +380933784051 (Телеграм та Вайбер). +380509236585 (ВотсАп).

Запрошую до обговорення — міфологія чи реальність! :)

👍ПодобаєтьсяСподобалось4
До обраногоВ обраному2
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Звертаюсь до спільноти: прошу повідомити: «Наскільки доступно та переконливо відповідав на зауваження та аргументацію вельмишановного пана Mike Gorchak ?».

Якщо залишились питання, то маємо їх зняти.

МЕСМ має прямий, а не «опосередкований», стосунок до зародження Адресної мови програмування з непрямою адресацією, списками та складними ієрархічними структурами.

Сьогодні, 25.12.2021р., 70-років з дня здачі комп’ютера МЕСМ (рос.: «МЭСМ») у експлуатацію Україна, Феофанія (передмістя Києва).

Комп’ютерів-конкурентів МЕСМ не існувало, оскільки інші комп’ютери тих часів не мали в архітектурі того, що було в МЕСМ, а саме:
1) арифметичний пристрій паралельної дії;
2) унікальна технологія використання бібліотечних програм;
3) можливість динамічної модифікації програм.
Підтвердження:
1. Лебедев С. А., Дашевский Л. Н., Шкабара Е. Л., Малая электронная счетная машина. // М. : — Из-во АН СССР, 1952. — 162 с. (Перші 73 стр.: ru.readkong.com/...​schetnaya-mashina-4140590).
2. Спогади очевидців.

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

Як це не дивно, але обмеженість ресурсів МЕСМ зіграла свою позитивну роль у розвитку технологій програмування, бо математики були вимушені знаходити вишукані при’оми програмування.

Відео про значення МЕСМ у зародженні ІТ на каналі Ющенко Юрія (сина Катерини Ющенко) присвяченому сторінці історії інформаційних технологій, яку штучно замовчували у часи авторитарного, комуністичного режиму:
youtu.be/sRhSeXhACq4

1) арифметичний пристрій паралельної дії;

Первый пробный пуск макета машины состоялся в ноябре 1950 г., а в эксплуатацию машина была сдана в 1951 г. МЭСМ работала в двоичной системе, с трехадресной системой команд, причем программа вычислений хранилась в запоминающем устройстве оперативного типа. Машина Лебедева с параллельной обработкой слов представляла собой принципиально новое решение

Whirlwind I. By 1947, Forrester and collaborator Robert Everett completed the design of a high-speed stored-program computer for this task. Most computers of the era operated in bit-serial mode, using single-bit arithmetic and feeding in large words, often 48 or 60 bits in size, one bit at a time. This was simply not fast enough for their purposes, so Whirlwind included sixteen such math units, operating on a complete 16-bit word every cycle in bit-parallel mode. Ignoring memory speed, Whirlwind („20,000 single-address operations per second” in 1951) was essentially sixteen times as fast as other machines. Today, almost all CPUs perform arithmetic in „bit-parallel” mode.

3) можливість динамічної модифікації програм.

self-modifying код был впервые представлен в Manchester Mark I в 1949.

Щиро дякую за цікаві та доречні зауваження.

По «1)»: мною особисто це питання не досліджувалось, але це не придумав, а написав згідно опису комп’ютера МЕСМ самих розробників: С.О.Лебедєва, К.О.Шкабари. Також про це пишуть у багатьох ресурсах. Можливо їм не було відомо про Whirlwind. Мені достовірно відомо, що у ЕДСАК такого паралельного арифметичного пристрою не було. Щиро дякую за доречне зауваження. Є URL джерело?

Чи визнаєте Ви С.О.Лебедєва лідером у подальших реалізаціях паралельних технологій (водопровод Лебедєва)?

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

По «3)»: «Команда складання команд» дозволяє модифікувати не лише сама себе (self-modifying), а й модифікувати інші комірки пам’яті для створення в них іншої, нової програми. Твердження, згідно спогадів О.А.Ляпунова та К.Л.Ющенко, що саме можливість МЕСМ модифікації програм підказала їм можливість у 1952р. створення однією програмою — іншої програми, тобто програмуючої програми (згодом названо: транслятором).

Мені відомо про публікацію: «Rutishauser H. Automatishe Rechenplanfertigung bei programmgesteuer ten Rechenmaschinen // Miff. Inst. fur Angew. Math. dec ETH Zurich. — N 3. — 1952.» в якій вперше висловлено ідею можливості трансляції виключно арифметичних виразів у фрагменти програми у машинних кодах. Ідея залишилась на папері (так пишуть). Саму статтю не знайшов, але зустрічав аналіз цієї статті іншими авторами.

Асемблери «1:1» та їх «компілятори» складно віднести до справжніх трансляторів, оскільки це було лише перекодування символів у їх двійкові коди, яке не виконувалось процессором, а іншим додатковим пристроєм.

О.А.Ляпунов запропонував наприкінці 1952р. Операторний метод програмування (при сприянні К.Л.Ющенко). Оприлюднив на лекціях та статтях у 1953р. Операторний метод започаткував програмування високого рівня в СРСР. За це О.А.Ляпунова IEEE нагородив медаллю «Комп’ютерний Піонер». Операторний метод Ляпунова вплинув на створення Адресного програмування.
Зустрічав думку (росіян), що ідеї Операторного програмування скоріше за все вплинути на рішення створити мову Фортран (1954р.). Напевно точно нікому не буде відомо про хибність чи вірність цієї думки.

По «1)»: мною особисто це питання не досліджувалось, але це не придумав, а написав згідно опису комп’ютера МЕСМ самих розробників: С.О.Лебедєва, К.О.Шкабари. Також про це пишуть у багатьох ресурсах. Можливо їм не було відомо про Whirlwind.

Я бы не был настолько наивным. WhirlWind не был военным компьютером, а был экспериментальным, который спонсировался коммерческой структурой, которая в свою очередь была армейским контрактором. Они забирали лучшие из идей. Именно поэтому доступно очень много информации по нему, она не была засекречена. Задача MIT была постоянно усовершенствовать его, каждые пол года они умудрялись его ускорять, добавлять новые команды, механизмы и т.п. Благодаря модульной структуре — они могли наращивать количество памяти и т.п. Естественно, что такая открытость не оставалась без внимания спецслужб и воровали идеи и технологии беспощадно до тех пор пока проект не ушёл полностью под крышу армии. Лебедев и не скрывал, что он черпал идеи из научных журналов, которые в советском союзе просто так просочиться не могли.

Є URL джерело?

computerhistory.org/...​hirlwind-computer-at-chm -> «ARITHMETIC UNIT»

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

The programming of the stored program for ENIAC was done by Betty Jennings, Clippinger, Adele Goldstine and others. It was first demonstrated as a stored-program computer in April 1948, running a program by Adele Goldstine for John von Neumann. This modification reduced the speed of ENIAC by a factor of 6 and eliminated the ability of parallel computation, but as it also reduced the reprogramming time to hours instead of days, it was considered well worth the loss of performance. Also analysis had shown that due to differences between the electronic speed of computation and the electromechanical speed of input/output, almost any real-world problem was completely I/O bound, even without making use of the original machine’s parallelism. Most computations would still be I/O bound, even after the speed reduction imposed by this modification.

В остальном мире как раз паралеллизм инструкций натолкнул инженеров на идею реализации паралеллизма в вычислительных блоках.

Чи визнаєте Ви С.О.Лебедєва лідером у подальших реалізаціях паралельних технологій (водопровод Лебедєва)?

Конечно, нет. С какой стати? Я не буду спорить с тем, что какие-то идеи могли зародится, но они были похоронены из-за изоляции. В советском союзе даже множественные НИИ не общались между собой и делали свои собственные исследования.

Кстати, ENIAC был источником всего чему научился Лебедев. Как видно паралеллизм он тоже почерпнул от туда, ибо по временной шкале дистанция просто огромная. Потом эбмарго в 1950-х сделало своё дело. Возможно он делал какие-то продолжение идей ENIAC’а, но и весь мир не сидел без дела.

Из-за местечковой закрытости всех НИИ было принято решение дропнуть все наработки, как неперспективные и скопировать IBM железо в серии ЕС. Вот и всё лидерство.

ENIAC

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

Як міг Лебедєв навчитися чомусь з ЕНІАК? Радянські шпигуни для українців не працювали. В газетних та журнальних замітках, які показали Лебедєву, не публікувались принципи роботи комп’ютерів.

Будь ласка, підправте, якщо помиляюсь.

Не вдалось знайти спростування першості МЕСМ у паралелізмі, про який інженери та фахівці по архітектурі пишуть з давніх часів.

Прочитав про Марк-1 (1948р.) але зазначено лише про перехід да паралельних з бітами лише у 1951р. у комп’ютері «Ferranti Mark 1». Невже щось упустив?
Відомі висновки багатьох інженерів та фахівців по архітектурі щодо першості паралелізму у МЕСМ вірні, чи ні? Праві вони, чи Ви? (Правда вище авторитету будь-яких визнаних вчених).

Несуттєве уточнення (не впливає на тему обговорення): перший пуск МЕСМ відбувся 4 серпня 1950р. — було проведено комплексну перевірку роботу процесора: по роботі з пам’яттю (читанню та запис), по виконанню циклів та роботу арифметичного пристрою. Тестувалось виконанням простих програм з циклами (одна з програм: сума декількох декількох перших членів ряду факторіалів парних/непарних чисел). Це тестування було успішним, незважаючи на проблеми з надійністю. Залишалось реалізувати «центральне» та «локальне» управління та відповідні підпрограми.
До цієї дати теж проводились тестування окремих функцій МЕСМ. 06.11.1950р. відбувся демонстраційний (для математиків) пуск з використанням програмам, які написали математиками з КДУ, розв’язку задач.

Дякую за заздалегідь за Ваші кваліфіковані роз’яснення!

Приклад фрагментів програм на С++, щоб зняти будь-які сумніви, що адресна мова не є мовою програмування високого рівня.

scontent.xx.fbcdn.net/...​UcP4jxguroKmw&oe=61DEC645

Это похоже на мёртвый язык программирования на бумаге, в каком виде вводили эти закарючки на ЭВМ?

ну а про поинтеры — первыми они появились в мнемонике ассемблерных команд и различных «макро» ассемблерах, из которых вышли все языки программирования. Очень странно приписывать указатели какому-то одному человеку.

Коли з’явились «макро» асемблери? Рік? Звідки вони там з’явились? На яких саме комп’ютерах?

Когда появилась первый машинный код с indirect register or indexed addressing mode? Вот тогда и появились указатели.

www.bitsavers.org/...​35_Third_Quarter_1953.pdf

(I) Floating Address
A floating-address system enables a programmer to write his instructions
so that they refer to the words of his program rather than to the location of those
words in storage. The assignment of final storage locations is made by the computer as part of the conversion.

first two-pass / macro assembler.

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

Погоджуюсь, що зміна адрес для роботи з послідовно розташованими адресами використовувалась. Це ланцюжки або лінійні списки які визначаються природнім слідуванням адрес в оперативній пам’яті. Саме про таке використання їде мова за цим посиланням. Чи є за цим посиланням визначення «адреса за адресою»? Тобто розіменування Pointers? Є адреса за якою зберігається адреса з даними або адреса підпрограми?
За цим посиланням немає жодної згадки про складні ієрархічні структури, які можна визначати за допомогою двох відношень слідування: «природного» (одна комірка за іншою) та ланцюжкового (визначається «штрих-операцією» або розіменуванням Pointers).
Поняття «список» у наданому джерелі не відповідає поняттю «список» у сучасного програмування.

Створення масивів та обробка в циклах їх елементів це одна справа, а використання «адрес на адресу» — зовсім інша.

Якщо маєте адекватні твердження стосовно головного питання (не про «індексацію» до елементів масивів), то буду щиро вдячний за їх надання. Модифікація адрес індексацією лише нагадує модифікацію адрес з використанням «розіменування» P{ointers.

Адресація першого рангу (саме про таку з елементами масивів говорится у наданому Вами посиланні) відома у методах програмування та була застосована у мовах: Фортран, Кобол та Алгол. Опосередкована адресація (Pointers) у закордонних мовах програмування високого з’явилися у 1964р. Це визнано світовою спільнотою наступним чином:
За винахід опосередкованої адресації у мові PL/1 Гарольда Лоусона міжнародним інститутом інженерів (IEEE) було вручено найпрестижнішу нагороду — «Комп’ютерний піонер». Тим самим світова спільнота помилково приписала цей винахід єдиній особі — Гарольду Лоусона.

У 1964р. Гарольдом Лоусоном був «винайдений» термін «Pointers», який є синонімом «опосередкована адресація 2-ого рангу», навіть не терміну Адресного програмування — «опосередкована адресація вищих рангів».

При цьому: американським вченим ще у 1963р., до нібито винаходу у них Pointers, вже було відомо про опосередковану адресацію (Pointers) з перекладених та виданих у США додатків до підручника «Элементы программирования», які включено до брошури: Willis H. Ware. Soviet Cybernetics Technology: III, Programming Elements of the BESM, STRELA, Ural, M-3, and Kiev Computers. / Willis H. Ware, Wade B. Holland, Andrew S. Kozak // RAND Corporation, 91p., Series: Research Memoranda/. — 1963. — USA. — files.infoua.net/...​s-Technology-III_1963.pdf .

Чи є за цим посиланням визначення «адреса за адресою»? Тобто розіменування Pointers?

адрес по адресу — это частный случай использования разименования. разименовываются данные по адресу, которые в свою очередь могут опять служить адресом.

За винахід опосередкованої адресації у мові PL/1 Гарольда Лоусона міжнародним інститутом інженерів (IEEE) було вручено найпрестижнішу нагороду — «Комп’ютерний піонер». Тим самим світова спільнота помилково приписала цей винахід єдиній особі — Гарольду Лоусона.

Но это абсолютная правда — термин pointer придумал он как концепт языка высокого уровня.

який є синонімом «опосередкована адресація 2-ого рангу», навіть не терміну Адресного програмування — «опосередкована адресація вищих рангів».

который есть синонимом indirect addressing задолго до термина «Адресного програмування». В чём соль изобретения — взять машинные концепции и вложить их в язык программирования?

Пан Ющенко кандидат наук, викладач найкращого державного університету в Україні і експерт в цій галузі. А Ви хто?

експерт в цій галузі

В какой отрасли эксперт?

Я про те саме: поняття чи термін «опосередкована адресація 2-ого рангу» повністю ідентично поняттю чи терміну Pointer. Він вигадав інше найменування для поняття, яке вже у мові програмування високого рівня існувало вже 9 років.

Адреса, яка у якості значення має адресу (тип даних «адреса»), це і є Pointer (змінна, яка у якості свого значення має тип «адреса»).

поняття чи термін «опосередкована адресація 2-ого рангу» повністю ідентично поняттю чи терміну Pointer.

Индексный регистр — это pointer, который существовал в мнемонике ещё за 5 лет до этого языка.

у мові програмування високого рівня існувало вже 9 років

Это очень спорный вопрос. Я не вижу тут языка высокого уровня. Это математический язык слегка выше мнемоники ассемблера, за счёт того что операции сравнения засунули в одну строку с присвоением.

Непонимание происходит от того, что обожествляют pointer. Pointer — это скаляр, который может использоваться в качестве адреса, другими словами индекс в памяти. На этом всё. Если его назвали «опосередкована адресація 2-ого рангу», это не делает вообще никакой разницы.

Индексный регистр — это pointer, который существовал в мнемонике ещё за 5 лет до этого языка.

— ніяк не можу погодитись з цим твердженням, якщо це регістр комп’ютерів тих часів, а не сучасних.

Індексні регістри тих часів виключно для адресації від «бази» з додаванням цілого числа («зсуву»), хіба не так? Де тут Pointer? Лише віддалено нагадує — не більше.

В первых машинах Джона фон Неймана индексный регистр был единственным регистром, по которому можно было извлекать данные косвенно. В IBM 700 — это было смещение от базы, но разве это так принципиально? Например сегменты в x86 — хранили базовые физические адреса, от которых уже происходило смещение при работе с памятью неявным образом. Первые индексные регистры в Manchester Mark I адресовали всю память. Почему-то не смущает то, что на Урале нельзя загрузить значение из памяти, оно должно обязательно учавствовать в арифметической операции, поэтому складывали с нулём. А чем отличается работа индексного регистра с базой установленной в ноль? Вот только объективно? Ничем не отличается.

Лише віддалено нагадує — не більше.

Я не надеялся переубедить, скорей всего это невозможно, т.к. на этом построена часть религии, которую мы видим в этой теме. Но для себя я выводы сделал.

но разве это так принципиально?

Саме так! Це принципово! Ви це побачили самі! Саме на це вказали!
Ф-операція з регістром модифікації адрес була в Manchester Mark I? Можна було взяти значення за «адреса адреси»?
Адресувати «рангом 1 всю адресу» це одна справа, а адресувати за адресом, який вказано за «адресою адреси» — зовсім інша. Ось різниця «індексного регістру з базою 0».

Ф-операція з регістром модифікації адрес була в Manchester Mark I? Можна було взяти значення за «адреса адреси»?

Именно так, для этого индексные регистры и появились, чтобы использовать непрямую адресацию.

Ось різниця «індексного регістру з базою 0».

Тут какой-то фундаментальный провал. Давай так, если знаешь какой-то ассемблер, пусть x86, приведи своё понимание разницы на нём.

Перші індексні регістри не здатні були використовувати опосередковану адресацію. «х86» — не підходить, бо в ньому вже реалізована опосередкована адресація, як і у багатьох інших попередніх архітектурах, але 100% не тих, які були за кордоном до 1956р.

А для чего создавались тогда индексные регистры? o_O они создавались, чтобы убрать прямую адресацию.

WhirlWind I: www.bitsavers.org/...​e_System_Manual_Dec55.pdf

Индексные регистры использовались для придания смещения к floating address или к прямому адресу.

СМЕЩЕНИЕ К ПРЯМОМУ АДРЕСУ НЕ ЯВЛЯЕТСЯ НЕПРЯМОЙ АДРЕСАЦИЕЙ!!!!!!!

*A = ’’A =/= A[i]

Как бы Вам, уважаемый, не хотелось, но:
ПРЯМАЯ АДРЕСАЦИЯ СО СМЕЩЕНИЕМ НЕ СТАНОВИТСЯ НЕПРЯМОЙ АДРЕСАЦИЕЙ !

Она является непрямой, т.к. появляется долнительная операция — вычисление эффективного адреса для доступа.

Я вижу фундаментальное непонимание предмета, увы.

«вычисление эффективного адреса для доступа» — це не взяття значення за адресою адреси, бо це арифметична дія, яка змінює адресу, тобто це обчислення, а не розіменування вказівника. Самі про написали та все одно не розумієте предмет.
Будь ласка розберіться ...

Перед чтением участка памяти происходит вычисление эффективного адреса.

Але не розіменування Pointer!

Чтение и запись участка памяти по эффективному адресу — это разименования указателя. Указатель состоит из адреса и индекса.

Где содержится значение элемента массива: «адрес и индекс».

В Адресном программировании это адресация 1-ого ранга: независимо от того является что либо из этих двух составляющих «0» или нет.

Согласно Адресного программирования — адресация 1-ого ранга:
1. «direct» — прямое, непосредственное указание адреса с данными.
2. «indexed addressing, floating address» — адрес нужно подсчитать (вычислить) по «плавающему индексу».
Прошу способ адресации по п.2 больше никогда не называть «адресацией 2-ого ранга» и, соответственно, согласно Адресного программирования «прямой (direct) адресацией».

Наконец разобрались! Очень рад! Оказалось, что проблема была исключительно в трактовании терминов: «direct», «indexed addressing = floating address». Все эти термины относятся к ПЕРВОМУ рангу адреса.

direct — указать имя переменной
«indexed addressing = floating address» — указать имя массива и индекс элемента массива, а, также, можно указать «плавающим/вычисляемым» способом имя структуры и имя элемента структуры (адреса элементов структуры «ПЛАВАЮТ»).

Непрямая адресация (по Адресному программированию) это:
не «direct», и не «indexed addressing = floating address», а
«undirect» или адресация 2-ого или более высокого ранга.
Это не «direct», и не «indexed addressing = floating address».

«undirect» или адресация 2-ого или более высокого ранга впервые аппаратно реализовано в компьютере «Киев» и впервые в его систему команд (в низкоуровневое программирование) так и впервые в мире введено в программирование высокого уровня в Адресном языке программирования, а не в виде Pointers в языке PL/1.

Указатель: по адресу содержится другой адрес, а по последнему содержится нечто другое: данные, подпрограмма или ещё один адрес (для образования, например: цепных списков).

Прошу способ адресации по п.2 больше никогда не называть «адресацией 2-ого ранга» и, соответственно, согласно Адресного программирования «прямой (direct) адресацией».

Почему? Их считает вычислительный блок при выставлении адреса на шину.

Указатель: по адресу содержится другой адрес, а по последнему содержится нечто другое: данные, подпрограмма или ещё один адрес (для образования, например: цепных списков).

Сорри, но у тебя фундаментальное непонимание процессов под капотом. Посотри примеры из книги Ющенко для машины Урал. Нет никаких рангов, это всё искусственно созданная мишура. Урал мог адресовать только прямые адреса:

[0000]
[0001]
[0002]

Индексный регистр даёт возможность адресовать:
[index]
[0000 + index]

Разницы нет никакой, за исключением того, что индексы добавляют очень большой гибкости в обработке.

«undirect» или адресация 2-ого или более высокого ранга впервые аппаратно реализовано в компьютере «Киев» и впервые в его систему команд (в низкоуровневое программирование) так и впервые в мире введено в программирование высокого уровня в Адресном языке программирования, а не в виде Pointers в языке PL/1.

Приведи аналог на ассемблере x86 того, что было реализовано в Киеве и чего никогда до этого не было.

Індексні регістри дозволяють лише визначати адресу за базою та за зсувом. Дозволяють адресувати до довільної комірки оперативної пам’яті, яка заздалегідь має бути відома.

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

Страница 50:

caf al b copy address from** address section only (as an 16L
integer) of C(al+ib).......r\C
cai al b copy address into** C(AC) becomes the new 7A, 16L
address section of C(al+ib )

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

Застосування визначення зв’язувань за допомогою математичних формул з адресами (індексами) не являє собою технологію визначення ієрархічних структур. Маю на увазі вишукані способи «моделювання» дерева за допомогою індексів, як це, наприклад робиться у відомому способі представлення бінарного дерева у алгоритмі мавпав’ячого впорядкування (в одновимірному масиві, який «розглядається» як бінарне дерево.
Нагадаю спосіб представлення бінарного дерева індексами та математичними формулами:
1. Корінь бінарного дерева має індекс 1: А[1].
2. Лівий син будь якого вузла з індексом «і», якщо син існує, має індекс «2*і», а правий син: «2*і+1».
3. Батько довільного вузла (корінь з індексом «1» — не має батька) має індекс: ціла частина від ділення «і/2».

Вочевидь, що використання лише одного лінійного слідування ніяк не дозволить визначати для одного елементу (комірки пам’яті) одразу декілька відповідних (розгалуження в структурах. Не можна індексними регістрами визначити найпростіший варіант бінарного дерева, яке має двох синів та у вузлах має інформацію, бо з лінії не можливо зробити розгалужену лінію-дерево (без стрибків з використанням множення/ділення): лінія — це лінійне слідування комірок пам’яті. Одним слідуванням адрес, визначеним розіменуванням адрес («штрих-операцією») теж не можна, а використанням двох типів слідування — можна. А Асоціативному програмуванні використовується термінологія: «двох типів членів списків: вузлових та гніздових», які походять з двох типів слідування Адресного програмування.
Ще раз: індексні регістри (не радянських комп’ютерів 40-их та 50-х років) використовують лише один тип слідування.
Один тип слідування не дозволить програмісту створити і найпростіший список з двох вузлів, у яких є данні (просив бінарне дерево з трьох елементів — не отримав від Вас фрагмент із «регістрами індексів» до 1956р.).
Ті індексні регістри дозволяли з’єднувати в одну лінію елементи масивів та елементи простих структур різного типу, але таких, які розташовані в пам’яті комп’ютера послідовно один елемент за іншим, що дозволяє адресуватися до елементів базою та зсувам по тим формулам, які Ви надавали.

В комп’ютері «Київ», як у інших радянських комп’ютерах («Урал» теж не є виключенням), вплив Адресної мови полягав саме в апаратній реалізації модифікації адрес, пов’язаної з розіменуванням вказівника («штрих-операцією»), що і дозволило в усіх радянських асемблерних мовах (зазвичай називали АВТОКОД) визначати та оброблювати складні ієрархічні структури.
Через деякий час потужні засоби адресації реалізували в закордонних комп’ютерах, а саму назву «індексні регістри» залишили. Звісно, що «індексні регістри» у архітектурі комп’ютерів «х86», IBM 360 (ЕС ЕОМ), СМ ЕОМ (PDP-11, VAX тощо) та усіх інших сучасний комп’ютерах мають апаратну реалізацію «штрих-операції» або розіменування Pointers.
Таких можливостей «індексні регістри» закордонні комп’ютери 40 та 50 років точно не мали.

Дуже поважаю Ваші здібності швидко знаходити інформацію.

Я не зустрічав індексних регістрів вищих порядків

который есть синонимом indirect addressing задолго до термина «Адресного програмування».

Прошу надати підтвердження того, що термін " indirect addressing" використовувався до 1955р. (до Адресного програмування). Ознайомився з низкою джерел та цього терміну у публікаціях тих років жодного разу не зустрічав. Будь ласка (з роком вживання): Посилання? Цитату?

Заздалегідь щиро дякую!

indexed addressing, floating address. Термин indirect появился действительно позже. В те времена у каждой лаборатории были свои названия одних и тех же вещей.

Дякую, що визнали це. І не лише цього терміну не було, а і не було використання «адреса за адресою». Зміна адреси (indexed addressing, floating address) з додаванням зсуву не є «indirect addressing». Необхідно припинити дебати про ці терміни у зв’язку з тим, що Ви визнали і відсутність цього терміну та не надали прикладу фрагменту програми з «indirect addressing» («адреса за адресою»).
Прошу надавати виключно адекватну аргументацію.
Будь ласка, розберіться самостійно: що таке «значення за адресою адреси» («indirect addressing»), що таке «база + зсув» (indexed addressing, floating address) та чим одне розбігається від іншого.
І термін indirect addressing" і отримання значень за адресою адреси з’явилися вперше у Адресній мові та у комп’ютері «Київ».

Чи є за цим посиланням визначення „адреса за адресою”?

Страница 50:

caf al b copy address from** address section only (as an 16L
integer) of C(al+ib).......r\C
cai al b copy address into** C(AC) becomes the new 7A, 16L
address section of C(al+ib )

Щиро дякую за пояснення своєї думки! По Вашим коментарям зрозумів, що Ви є досвідченим фахівцем у цій галузі.
Але ми з Вами не розуміємо один іншого.
У наведеній Вами цитаті іде мова про адресацію (можна назвати її «непрямою» — «indirect addressing») але це не є адресацією 2-ого рангу.
Наведено адресацію до «елементів масивів». Згідно класифікації Адресного програмування це адресація 1-ого рангу.
Мною було досліджено програмування на комп’ютерах (система команд та можливості циклування при роботі з елементами масивів) на комп’ютерах: EGSAC, Manchester Mark I, UNIVAC, Ferranti Mark I та IBM 701. Комп’ютери не Нейманівсько-Лебедєвської архітектури Z1, Z3, Z4, Колоссус, ЕНІГМА та інші) — не досліджувались, бо вочевидь, що вони не здатні до циклування і по елементам масивів. Циклування арифметичного пристрою, наприклад для розрахунку значення добутку, не можна брати до уваги (такі цикли були і в комп’ютері Беббіджа).
Намагався дослідити IBM 704, але стикнувся з труднощами: а) безліч модифікацій — 123; б) брак джерел. В описі системи команд не знайшов прямого опису непрямої адресації 2-ого рангу, а про її відсутність, звісно в описі написати не могли. Гадаю, що адресації 2-ого рангу в IBM 704 не було, але це припущення.

"

C(al+ib)

" — це про доступ до комірок пам’яті, які послідовно розташовано після адреси al. Тут «al» — базова адреса, «ib» зсув на певну кількість комірок. Це не зовсім пряма адресація, але точно не адресація 2-ого рангу (Pointers). Про «витягування» значення за адресою, яка вказана у іншій адресі тут нічого не говориться.

Якщо у Вас є інформація про застосування "

indirect addressing

" 2-ого рангу (Pointers) в системі команд чи в асемблері хоч якогось комп’ютера до 1956року, то буду Вам дуже вдячний.

Головна унікальна відмінність комп’ютера МЕСМ (Феофанія, 1951р.) від усіх комп’ютерів однолітків: можливість динамічної модифікації програми. Цю можливість інженери реалізували для організації циклування по елементам масивів. Але реалізація в МЕСМ була зроблено не за такими принципами, як у ЕДСАК та інших Нейманівсько-Лебедєвських комп’ютерах (до 1955/56р). Саме відмінність цих принципів дозволила в них побачити та модулювати адресацію 2-ого рангу до «даних» та до «підпрограм» (при виклику підпрограм — «місцеве» керування). При розробці архітектури «Київ» відбувалось вдосконалення та узагальнення принципів комп’ютера МЕСМ.
Глобальне

У якості підтвердження сказаного наведу цитату зі стор. 53 книжки «Вычислительная машина Киев. Математическое описание»: «Разработка математических требований к машине „Киев“ шла параллельно с работой по созданию и развитию адресного языка. Идея построения сменно-спаянной памяти (выдвинутая Е. Л. Ющенко) (моя примітка: „змінно-спаяна пам’ять“ для підпрограм навіяно вишуканими методами програмування при використанні бібліотек підпрограм, а саме передачі управління „місцевому“ керуванню), в которой в виде спаянных блоков могли бы храниться стандартные программы для реализации тех или иных алгоритм мов, была первоначально осуществлена с помощью групповых операций НГО и ОГО. Эта же идея послужила толчком к выработке понятия адреса высшего (второго) ранга и вместе с ним первоначального понятия адресного алгоритма ...».

Усі інші комп’ютери, згідно мого глибокого переконання, використовували однакові принципи адресації в циклах до елементів масивів: базова адреса + зсув. Не лише до елементів масивів, а також до «елементарних» структур таких як у мові Планкалкюль та КОБОЛ (елементи розташовані лінійно та у комірках пам’яті, які слідують одна за іншою). Буду вдячний, якщо переконаєте мене у протилежному.

Щиро дякую за жвавий інтерес до цієї теми та конструктивний діалог.

У наведеній Вами цитаті іде мова про адресацію (можна назвати її «непрямою» — «indirect addressing») але це не є адресацією 2-ого рангу.

Все эти ранги — это настолько искусственное образование, что оно никому не нужно. Никто это в зарубежной литературе не описывал.

IX — индесный регистр, А — аккумулятор.

A <- [IX]
IX <- A

повторить этот блок столько раз сколько нужно чтобы получить нужный ранг.

Мною було досліджено програмування на комп’ютерах (система команд та можливості циклування при роботі з елементами масивів) на комп’ютерах: EGSAC, Manchester Mark I, UNIVAC, Ferranti Mark I та IBM 701. Комп’ютери не Нейманівсько-Лебедєвської архітектури Z1, Z3, Z4, Колоссус, ЕНІГМА та інші) — не досліджувались, бо вочевидь, що вони не здатні до циклування і по елементам масивів. Циклування арифметичного пристрою, наприклад для розрахунку значення добутку, не можна брати до уваги (такі цикли були і в комп’ютері Беббіджа).

Manchester Mark I — они взяли патент на индексные регистры, которые и стали указателями. Указатели бессмысленны без наличия аппаратной поддержки.

Усі інші комп’ютери, згідно мого глибокого переконання, використовували однакові принципи адресації в циклах до елементів масивів: базова адреса + зсув.

Ну и в чём принципиальная разница, если смещение можно загрузить из памяти в индексный регистр?

Я вот не поленился и прочёл:
files.infoua.net/...​anie_EYushchenko_1963.pdf

Я не увидел там ни одного признака того, что описанный язык — это язык программирования высокого уровня. Это математический язык, существующий только на бумаге. Как я уже сказал ценность имеет только оригинал программы на этом языке, который подавался на вход транслятору (не компилятору!) для перевода в машинный код.

В этом месте я хочу увидеть специальную обработку адресации второго ранга в машинных командах, что там есть такого, чего нельзя сделать через индексные регистры.

В этом месте я хочу увидеть специальную обработку адресации второго ранга в машинных командах, что там есть такого, чего нельзя сделать через индексные регистры.

В конце книги есть примеры для Урала:

2A -> S

Урал
30 A
02 0000

Аккумулятор = [A] + 0000.

Вот и вся магия. Взяли значение по адресу и прибавили 0 — ограничение Урала, потому что все команды половинчатые для работы с памятью и нуждаются в паре.

2A -> 2S

Урал
30 A
16 0000

[A] = [S] — переслали из памяти в память.

Та же WhirlWind с которой я начал:
www.bitsavers.org/...​35_Third_Quarter_1953.pdf

Это просто божественная опера по набору машинных команд. Все те же операции можно делать гораздо проще и эффективнее.

Індексний регістр містить зміщення, а регистр модернізації адрес довільну адресу. Є принципова різниця?
«зміщення» (ціле число, яке додається до значення адреси) ніяк не може «дорівнювати» «довільній» адресі. Звідси і принципова відмінність у потужності.
Ви продовжуєте вважати, що «індексні регістри» еквівалентні регістру модернізації адрес?

Мову Планкалкюль вважаєте мовою високого рівня?

Все эти ранги — это настолько искусственное образование, что оно никому не нужно. Никто это в зарубежной литературе не описывал.

А.І. Кітов описував. Pointers — описували. Як це це нікому не потрібно? Яка різниця між «адреса збережена за адресою» від «змінна має значення адреси»?
За вашою логікою «Pointers» теж мають бути не потрібні, бо те саме: адресація 2-ого рангу не потрібна.
Прошу Вас визначитись: «Pointers» або «адресація 2-ого рангу» потрібні чи не потрібні?
Якщо одне потрібне, то потрібне і інше, а якщо не потрібне, то не потрібне і інше.

Я не увидел там ни одного признака того, что описанный язык — это язык программирования высокого уровня.

— усі бачать, а Ви не побачили? Перепрошую, але це вже Ваша особиста проблема.

В этом месте я хочу увидеть специальную обработку адресации второго ранга в машинных командах, что там есть такого, чего нельзя сделать через индексные регистры.

— Бінарне дерево створити та обійти його можна за допомогою індексних регістрів (не сучасних комп’ютерів а часів 1949-1954р.). Тільки без використання конструкції «А[B[i]]», яка дозволяє модулювати адресацію 2-ого рангу або за допомогою арифметичних формул визначати «посилання», як це робиться у алгоритмі мавпавчого впорядкування: бінарне дерево представляється одновимірним масивом, а посилання підрахунком арифметичних виразів.
Найпростіше запишіть з використанням регістрів індексів: представити в пам’яті бінарне дерево з трьома вершинами: «батько» має двох «синів», у кожному вузлі зберігається 2 числа. Обмеження: не використовувати асемблер сучасних комп’ютерів, а лише тих, які розроблено до 1956р. («Київ» — теж не використовувати).

Індексний регістр містить зміщення, а регистр модернізації адрес довільну адресу. Є принципова різниця?

Если честно, то у меня мозги тухнут от этой терминологии «регистр модернізації адрес», которую никто никогда не использовал за пределами какого-то местного пузыря.

Ну и по поводу смещения или адреса — разницы нет никакой.

Manchester Mark I:

The machine’s most significant innovation is generally considered to be its incorporation of index registers, commonplace on modern computers. The Baby had included two registers, implemented as Williams tubes: the accumulator (A) and the program counter ©. As A and C had already been assigned, the tube holding the two index registers, originally known as B-lines, was given the name B. The contents of the registers could be used to modify program instructions, allowing convenient iteration through an array of numbers stored in memory.

Это первый в мире аппаратный pointer. Это можно принять или продолжать отрицать, но весь мир знает это как истину.

Мову Планкалкюль вважаєте мовою високого рівня?

Это мёртвый бумажный язык, не представляющий никакого практического интереса.

«зміщення» (ціле число, яке додається до значення адреси) ніяк не може «дорівнювати» «довільній» адресі. Звідси і принципова відмінність у потужності.

Это зависит от архитектуры процессора. И опять же не все индексные регистры — это смещения. Даже подавляющее большинство как раз не смещения.

Яка різниця між «адреса збережена за адресою» від «змінна має значення адреси»?

Это искусственная терминология. Данные лежать по адресу в памяти. Данные могут быть просто данными, но могут служить и адресом или floating point значением или служить любой другой цели. Данные равные размеру слова конкретной машинной операции — первичны.

За вашою логікою «Pointers» теж мають бути не потрібні, бо те саме: адресація 2-ого рангу не потрібна.

Название не нужно. Адресация 2-го ранга — это просто напускание тумана на простые вещи. Причём как я уже приводил пример с Manchester Mark I — они создавались как простые и понятные вещи, никто не вводил ранги и прочую оккультную терминологию вокруг базовых вещей.

— усі бачать, а Ви не побачили? Перепрошую, але це вже Ваша особиста проблема.

Ну кто-то же должен сказать правду. Это бумажный язык программирования, который даже не имел транслятора. В данном случае он ничем не отличается от макро-ассемблера. Если макро-ассемблер — язык высокого уровня, то ок.

Тільки без використання конструкції «А[B[i]]», яка дозволяє модулювати адресацію 2-ого рангу

Согласно книге Ющенко — это третий ранг, а не второй. Ссылку на PDF дать не могу, но в украинской википедии это описано также. Двойное разименование — это третий ранг.
Розіменування вказівника («виділення вмісту адреси»)

uk.wikipedia.org/...​iki/Адресне_програмування

{\displaystyle ^{3}a=>c}, або
{\displaystyle ’’’a=>c}{\displaystyle ’’’a=>c} c := a^^; c = **a;

— Бінарне дерево створити та обійти його можна за допомогою індексних регістрів (не сучасних комп’ютерів а часів 1949-1954р.)

В чём разница операций [0+IX] и [IX] ?

Согласно книге Ющенко — это третий ранг, а не второй. Ссылку на PDF дать не могу, но в украинской википедии это описано также. Двойное разименование — это третий ранг.
Розіменування вказівника («виділення вмісту адреси»)

Константа — це 0-ранг, Змінна — це пряма адресація або 1-й ранг. Адресація до елементів масивів або до складових елементарних структур (структур Планкалкюль чи КОБОЛ) — це теж адресація 1-ого рангу зі зміною адреси.
Адресація 2-ого рангу (це вже вищий ранг): взяти те що знаходиться за адресою, яка вказана у значенні Pointer/
Для констант (цілих чи адрес) «штрих-операція» не використовується жодного разу.
Для змінних, елементів масивів та елементів елементарних структур «штих-операція» використовується 1 раз (це не є розіменуванням вказівника). — Але для адресації до елементів масивів та до елементів елементарних структур без індексних регістрів (Манчестера Марк 1, чи ЕДСАК чи інших) — не обійтись.
Адресація 2-ого рангу: подвійне застосування «штрих операції» (або розіменування вказівника: С= *А, а потім взяти значення «С»).

Это бумажный язык программирования, который даже не имел транслятора.

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

Автокоди усіх радянських комп’ютерів (іноді називають асемблерами або макро асемблерами) це машинно-залежні мови з потужними засобами адресації адресної мови програмування. Дехто з вчених відносить їх до мов високого рівня та має на це рацію, бо Автокоди точно потужніші та виразніші за Планкалкюль.

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

Використання адрес вищих рангів у країнах: Угорщина, східна Німеччина, Чехословаччина тощо не є використанням адрес вищих рангів за кордоном?
Використання Pointers сучасними програмістами усього світу також є використання адресації вищих рангів за кордоном. Подальша риторика на цей привід нідочого не приведе. Ви вперлися, що є різниця між поняттями Pointers та «адресацією 2-ого рангу», а між цими поняттями жодної відмінності немає. Вам зручніше використовувати Pointer, то ы використовуйте це поняття, але не забувайте, що використовуючи Pointers ви насправді користуєтесь опосередкованою адресацією або «indirect addressing», а цей термін загально визнаний та використовується у сучасному програмуванні. В Адресному програмуванні додатково використовується дуже зручний термін «ранг адреси», якому дуже подібний термін «Multiple indirection». Різниця у цих термінах полягає лише у тому, що в понятті ранг адреси можна вказати ціле число, яке розуміється мається на увазі в «Multiple». Тому прошу більше не казати, що ранг адреси ніде не використовується та не зручний для використання та вказувати, що це штучна термінологія.
Дуже радий, що у Вас такий жвавий інтерес до Адресної мови програмування. Сподіваюсь, що Ви вже відкрили для себе багато цікавого про цю мову, чи не так?

Чекаю програму на асемблері чи у машинних кодах з бінарним деревом з трьох вузлів. Сучасні асемблери використовувати забороняється, а лише машинні мови або асемблери для комп’ютерів до комп’ютера «Київ» (до 1955р.).

Адресація 2-ого рангу: подвійне застосування «штрих операції» (або розіменування вказівника: С= *А, а потім взяти значення «С»).

Именно. A[B[i]] — это C = **A; — третий ранг.

Припускаю, що Вам ще не було відомо про існування трансляторів Адресної мови для майже усіх радянських комп’ютерів першого та 2-ого поколінь.

Метематиматическая запись языка из книги не является исходным кодом. Я не нашёл ни одного исходника на «адресного языке», который подаётся на вход транслятору. Кстати уже одно название транслятор — говорит, что это не язык высокого уровня.

Але за будь-яким мірками Адресна мова є мовою високого рівня яка має ознак високорівності більше ніж у ФОРТРАН, КОБОЛ та АЛГОЛ-60, була реалізована багатьма трансляторами

Где исходники, подходящие для транслятора?

Ви вперлися, що є різниця між поняттями Pointers та «адресацією 2-ого рангу», а між цими поняттями жодної відмінності немає.

Нет, кто-то упёрся в факт, что индексный регистры — это не указатели. Хотя это они и есть.

Дуже радий, що у Вас такий жвавий інтерес до Адресної мови програмування. Сподіваюсь, що Ви вже відкрили для себе багато цікавого про цю мову, чи не так?

Я уже своё мнение высказал — там нет ничего нового, много тумана за математическими записями, которые в более ранних западных книгах описаны более доступным языком.

Чекаю програму на асемблері чи у машинних кодах з бінарним деревом з трьох вузлів.

Ну жди, я не твой студент. Я просил показать пример, а в ответ получил — напиши сам.

До побачення! Хай щастить!

Чекаю програму на асемблері чи у машинних кодах з бінарним деревом з трьох вузлів. Сучасні асемблери використовувати забороняється, а лише машинні мови або асемблери для комп’ютерів до комп’ютера «Київ» (до 1955р.).

Я вот не пойму, как человек в зравом уме может утверждать что на машине с только прямой адресацией Урал, на который всё время ссылается книга Ющенко — такое реализовать возможно, но на машинах где прямая адресация и косвенная адресация через индексный регистр — такого сделать нельзя.

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

Першим комп’ютером, який дозволив використовувати (модулювати) справжню опосередковану адресацію був комп’ютер МЕСМ. Це дозволила «команда складання команд» яке призначалась для роботи з елементами масивів. Індексні регістри мають те саме призначення, але «команда складання команд» реалізована та працює не так, як індексні регістри. Саме ця відмінність забезпечувала динамічну модернізацію програм на МЕСМ та забезпечила можливість модулювати Pointers в програмах на МЕСМ.

В архітектурі цього комп’ютера використані засоби опосередкованої адресації Адресної мови.

Нет. В адресном языке операция инкремента указателя не существует и операция выполнена в виде:

’’A + 1 => ’A

т.е. язык высокого уровня не ввёл операции над указателями в виде A + 1 => A. Это просто aliases, то что в WhirlWind называли floating address — просто имя ячейки памяти.

Останній раз повторюю: адресація з використанням «перших» індексних регістрів не і не передбачала опосередкованої адресації і дозволяла її використовувати.

Это неправда. Смотри архитектуру WhirlWind:
www.bitsavers.org/...​e_System_Manual_Dec55.pdf

Відсутнє розіменування вказівника. Перетворення адреси обчисленням є, але цього не заперечував.
Є списки (двозв’язні)? Є дерева? Є інші ієрархічні структури?

В адресном языке операция инкремента указателя не существует

 — це не так.

Два варіанти інкременту адреси:
1. Адресна формула:
’А +1 => A
засилає збільшує на «1» значення адреси, яка зберігається в А.
2. Вираз:
А+1
означає наступну адресу, яка слідує за адресою А.

Відсутнє розіменування вказівника.

Чтение и запись памяти по адресу.

Є списки (двозв’язні)? Є дерева? Є інші ієрархічні структури?

Мы говорим об указателях. «указатели» в адресном языке не имеют абстрактных типов.

2. Вираз:
А+1
означає наступну адресу, яка слідує за адресою А.

Мы можем записать A + 1 => A? Нет. Потому что А — это не указатель, а алиас адреса памяти.

«указатели» в адресном языке не имеют абстрактных типов.

Да не имеют и не нужно в Адресном их иметь, поскольку в Адресном есть куда более мощные средства!

Такого понятия нет в Адресном программирование и его еще не было в мире. Тогда мировое сообщество еще не пришло к такому термину. Такого термина ещё в мире не существовало. В Адресном такой термин и не мог появиться, но появилось более мощные понятия с другим термином/терминами:
«естественное следование» ячеек памяти
и
«следование», задаваемое значениями адресов или «штрих-операцией.
К слову: ознакомьтесь с Ассоциативным программирование А.И.Китова, в котором он определяет сложные иерархические структуры путём использования двух типов узлом, основанных на этих двух следованиях, введенных в Адресном программировании. При этом Китов признаёт что в Ассоциативном программировании использованы методы адресации Адресного программирования и понятие ранга адреса.
Для справки: Ассоциативное программирование зарождается в 1963году, что также раньше появления в США указателей и тем более: абстрактных типов данных.

Мало того: встречается мнение аналитиков, которые утверждают:
что Ассоциативное программирование является параллельной и независимой советской веткой развития Абстрактных типов данных. Напоминаю, что в качестве базиса иерархических структур Ассоциативного программирования взят базис этих структур Адресного языка.

Публикации по Ассоциативному программированию были известны за рубежем и на них ссылаются зарубежные программисты во времена формирования и развития Абстрактных типов данных. Также бытует мнение, что Ассоциативное программирование оказало влияние на формирование Абстрактных типов данных. Если последнее утверждение верно, то это позволяет утверждать, что Адресное программирование оказало влияние (непрямое, а опосредованное: через Ассоциативное программирование) на Абстрактные типы данных.

В Адресном языке впервые введены цепные списки, которые называются «следованием» по цепочке адресов, задаваемых «штрих-операцией». Аналогичное введено в языке обработки списков Lisp (1958г.), который не был даже реализован в 1958г.

В Адресном языке введены понятия:
а) область доступности;
б) схема обозревания информации;
в) дереообразные форматы,
которым аналогично, введенное за границей и только через 10 лет понятие «Абстрактные типы данных».

Деревообразные форматы полностью покрывают Абстрактные типы данных, поскольку, предполагают в качестве компонент иметь не только скалярные данные, как в Абстрактных типах данных, а и подпрограммы (их адреса).

Да не имеют и не нужно в Адресном их иметь, поскольку в Адресном есть куда более мощные средства!

Тогда это никакие не указатели. Это спин-офф развития, который был похоронен временем, как нежизненноспособный.

В Адресном языке впервые введены цепные списки, которые называются «следованием» по цепочке адресов, задаваемых «штрих-операцией». Аналогичное введено в языке обработки списков Lisp (1958г.), который не был даже реализован в 1958г.

Только не нужно забывать что лисп не был «бумажным языком программирования».

Тогда это никакие не указатели. Это спин-офф развития,

Эти высказывания ни в какие ворота не лезут.
Любите Википедию? Пожалуйста: en.wikipedia.org/...​uter_programming)#History
О наличии указателей в Адресном языке написано в статье Академии наук Украины (о достижениях к 100 -летию Академии наук Украины).

Прекращайте тролинг и провокации!
Указатели были, но иначе назывались. Была терминология ничем не хуже термина «указатель» и все чудесные возможности указателей, которые были открыты спустя десятилетие американцами, в Адресном языке были использованы. Исчерпывающая аргументация этому уже была надана в других комментариях.

Не похоронен!
Появился в Альфа и в Ассоциативном программировании. Оставил очень глубокий след во всех советских АВТОКОДах. Использовался во всём постсоциалистическом пространстве более 20 лет, несмотря на то, что коммунистический, тоталитарный режим в 1965г. «запретил» этот язык. Запрет относился к разработке реализаций на новых компьютерах (на БЭСМ-6 остался незавершенным), запрещено было выступать на семинарах и конференциях, публиковать статьи и книги. При этом транслятор для М-20 успешно работал на «новых», полупроводниковых компьютерах: БЭСМ-3, БЭСМ-3М, БЭСМ-6 и на компьютере китайського производства.
Адресный язык и его возможности группировать данные и объединять сгруппированные данные были использованы в целом ряде АСУ, АСУП и АСУТП.

Только не нужно забывать что лисп не был «бумажным языком программирования».

не нужно забывать, что Адресный язык тоже не был бумажным и то, что он был и предложен и реализован значительно раньше Lisp.

Любите Википедию? Пожалуйста: en.wikipedia.org/...​uter_programming)#History

Запись сделана 30 Января 2020 анонимным пользователем:
en.wikipedia.org/...​ial:Contributions/1neStar

Указатели были, но иначе назывались. Была терминология ничем не хуже термина «указатель» и все чудесные возможности указателей, которые были открыты спустя десятилетие американцами, в Адресном языке были использованы.

Ну так чтение и запись памяти по адресу были и назывались по-другому. Это не делает их указателями. Указатель — это не просто адрес, это адрес с типизацией. В книге Ющенко написано что извлекается _всегда_ машинное слово, что только подтверждает то, что это не указатель, а просто завуалированная операция чтения и записи памяти по меткам.

Исчерпывающая аргументация этому уже была надана в других комментариях.

Это аргументация из серии СССР — родина слонов.

Не похоронен!
, несмотря на то, что коммунистический, тоталитарный режим в 1965г. «запретил» этот язык.

Это называется похоронен. Ибо никто в мире не писал на этом языке и софт воровали регулярно для IBM mainframes.

Это мёртвый бумажный язык, не представляющий никакого практического интереса.

Якщо Ви не в темы, то прошу не розкидувати подібні твердження: слід було або погуглити або спитати.
Про практичне значення Адресного програмування наведу цитати з книжки про «Київ» (Глушков В. М., Вычислительная машина «Киев». Математическое описание / В. М. Глушков, Е. Л. Ющенко. // К. : — Гостехиздат УССР, 1962. — 183 c. : ил. — перекладено та видано в 1966р. у США: Glushkov V. M. The Kiev Computer; a Mathematical Description / V. M. Glushkov, E. L. Yushchenko // Translation Division, Foreign Technology Div., Wright-Pattenon AFB, Ohio, Mar 1966 — 234p. — 1966, ASIN: ‎B0007G3QGC, FTD-TT-65-972, TT-66-62056. — USA.).
Цитати:
— «Подпрограмма исправления ошибок в программе» (стр. 99);— «Решение системы линейных алгебраических уравнений ...» (3 метода на стр. 105 та 1 метод на стр. 108);— «Прогноз ветра на среднем уровне.» (стор. 105);— «Решение уравнения Пуассона для задачи Дирихле.» (стор. 105);— «Алгоритм раскладки прямоугольных деталей на прямоугольных листах.» (стор. 105)— «Проектирование профиля автомобильных и железных дорог ...» (стор. 106);— «Программа для вывода буквенно-цифровой информации на экран электронно-лучевой трубки.» (стор. 107);— «Программирующая программа (прим. автора: компилятора) для управляющей машины широкого назначения (УМШН) с входным адресным языком ... » (компилятор Адресного языка для компьютера «Днепр» или УМШН, который реализован на эмуляторе компьютера «Днепр» до готовности компьютера «Днепр»; на стр. 107);— «Гидравлический расчет водопроводных и газовых сетей.» (стр. 107);— «Реализация алгоритма определения времени повалки бессемеровского конвертера на заданном содержании углерода в металле.» — для удалённого управления процессом плавки стали на сталеплавильном комбинате в городе Каменськое (ранее Дніпродзержинськ) на расстоянии 500км от местонахождения від комп’ютера «Київ»: (Видео 5. Документальный фильм начала 60-х о «Разумной Домне» (3 мин, на русском); стр. 107);— «Определение оптимального режима процесса в карбонизационной колонне содового комбината.» (для содового комбината в г.Словянск; стр. 107);— «Расчет диаметров и давлений газовых и водопроводных сетей.» (стр. 109);— «Алгоритм морфологического анализа русского языка» (стр. 109);— «Алгоритм синтаксического анализа русского языка» (стр. 109);— «Алгоритм обучения распознавания смысла простых предложений.» (стр. 109);— «Моделирование процессов биологической эволюции» (стр. 109);— «Алгоритм обучения распознаванию простейших геометрических фигур» (использованы методы машинного обучения [29]; стр. 110);— «Корреляционный метод распознавания изображений.» (стр. 110);

Окрім задач, що описано у вказаній монографии на комп’ютері «Київ» з використанням Адресної мови були реалізовані задачи: — распознавання печатних и рукописних літер та цифр, цитата зі стор. 137 [Малиновский Б.Н. История вычислительной техники в лицах. — К.: фирма «КИТ», ПТОО «А.С.К.», 1995. — 384 с., ил. ISBN 5-7707-6131-8]: «... к автоматическому распознаванию зрительных образов: работы по автоматическому чтению рукописных и печатных знаков были начаты под его руководством уже в 1959-1961 годы, а на протяжении первой половины 60-х годов была развита корреляционная теория распознавания машинописных знаков и строк текста» автоматичного розпізнавання зорових образів: роботи з автоматичного читання рукописних і друкованих знаків були розпочаті під його керівництвом уже в 1959-1961 роки, а протягом першої половини 60-х років була розвинена кореляційна теорія розпізнавання машинописних знаків і рядків тексту (В.А. Ковалевский, М.И. Шлезингер), теория оптимального конструирования эталонов распознаваемых символов (М.И. Шлезингер), были созданы последовательно несколько макетов оптических читающих автоматов, основанные на принципах оптической корреляции («ОКА» и «ЭОК-Ю», В.К. Елисеев) и электронной корреляции («ЧАРС», B.А. Ковалевский, А.Г. Семеновский).«;— автоматизированного проектирования электрических плат для приборов оборонного и бытового назначения и для проектирования компьютеров [багато джерел про це пишуть];— разработка архитектуры компьютеров «Днепр», «Промінь», «МІР-1» и программное обеспечение для них (про МІР-1 детально описано програмісткою Надією Міщенко зі стажем 50 років у її спогадах);— низка задач с грифом «цілком таємно» для міжнародного інституту ядерних досліджень в г.Дубна.

Вибачаю Вас, бо ви могли про це не знати.

В русской википедии существование ранних транслятор не доказано:
ru.wikipedia.org/...​ный_язык_программирования

В украинской вообще нет упоминания
uk.wikipedia.org/...​iki/Адресне_програмування

Все доказательства — это мемуары и воспоминания, что что-то было, но ничего конкретного.

Оце так так! Підтверджуєте тим, що у Вікіпедії не записано?
Хіба це можна вважати аргументами?

Відсилаю до купи джерел з описом реалізації програмуючих програм з Адресної мови:
1. Вычислительная машина «Киев»: Математическое описание / В.М.Глушков, Е.Л.Ющенко // К.: Государственное издательство технической литературы, 1962. — 183 с. — pdf. : дві програмуючі програми для «Київ» та програмуюча програма для УМШН («Дніпро»).
2. Адресное программирование / Е.Л.Ющенко — К.: Государственное издательство технической литературы, 1963. — 287 с. — декілька програмуючих програм для різних комп’ютерів.
3. Программирующая программа с входным адресным языком для машины Урал-1 / Е.Л.Ющенко, Т.А.Гринченко. — К.: Наукова думка, 1964. — 107 с. — з назви видно про який транслятор їде мова.
4. Управляющая машина широкого назначения «Дніпро» и программирующая программа к ней: Справ. программиста / Е.Л.Ющенко, Б.Н.Малиновский, Г.А.Полищук [и др.]. — К.: Наукова думка, 1964. — 280 с.: рис., табл. — Бібліогр.: с.277-278. З нави видно що за транслятор.
5. Система автоматического программирования для машины М-20. Транслятор с адресного языка: Справ. рук. / Л.П.Бабенко, Л.И.Довгополая, Г.М.Корниенко, Е.Л.Ющенко; АН УССР. — К.: Наукова думка, 1965. — 154 с.: рис., табл. — Бібліогр.: с.155. — 7750 прим. Транслятор для М-20 та сумісних з ним: БЕСМ-3, БЕСМ-3М, БНСМ-4 та китайського комп’ютера «Model 107», який сумісний з М-20.
6. АКД-автокод машины «Днепр-2» / Е.М.Лаврищева, А.И.Никитин, Л.Г.Усенко, Е.Л.Ющенко. — К.: ИК АН УССР, 1969. — 203 с. — реалізація Автокоду з потужними засобами адресації Адресної мови програмування для «Дніпро-2».

Це не доказі?
Бувайте, шановний фахівець!

Оце так так! Підтверджуєте тим, що у Вікіпедії не записано?

Человек, которому болит изменит контент википедии и добавит туда доказательства, потому что это первое место, где будут искать.

1. Вычислительная машина «Киев»: Математическое описание / В.М.Глушков, Е.Л.Ющенко // К.: Государственное издательство технической литературы, 1962. — 183 с. — pdf. : дві програмуючі програми для «Київ» та програмуюча програма для УМШН («Дніпро»)

files.infoua.net/...​hkov_EYushchenko_1962.pdf

Страница 183 — это оглавление. В книге всего 185 страниц.

Если имелась в виду страница 125, то там написано:

ПП-АК в качестве входного языка использует адресный язык,
на стиль которого наложены весьма незначительные ограничения. Применение адресного языка в качестве входного для всех других машин ВЦ АН УССР объясняет широкий успех внедрения этой ПП в практику.

Т.е. подтверждение моих слов адресный язык программирования существовал только на бумаге. То, что подавалось на вход ПП-АК очень далеко от того что собой представлял адресный язык программирования.

Программу на адресном языке переводили в байт код руками, который потом транслировали в машинный код. Это ещё одно подтверждение что это не язык высокого уровня.

краще промовчу ...

А что ещё остаётся — не спорить же с цитатами из книги на которые ссылаешься :D

Наче доросла людина, а все ще вважає рфіянську вікі за джерело інформації

В украинской эта информация вообще отсутствует.

Що приводить до думки, що треба зав’язувати рахувати [всю] вікі, як джерело інформації, і дивитись на неї як на жовту пресу

¯\_(ツ)_/¯

Ну по крайней мере это в интересах Юрия Ющенко добавить туда много полезной информации.

Ну я скачал себе с сайта ту pdf на 360 страниц, если не ошибаюсь. Ну прочитал выкладки главы 5, посвящённой АП. Интуиция говорит, что вики, посвящённая этому, будет скучать по посетителям

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

вообщето, это наводит на мысль, что ктото должен быть мотивирован украинский контент наполнить. Зачем с плеча рубить?

Бо я побачив як рфіянці засирають англомовну вікі

Лише англомовну? А рфянську? А Українську?

рфіянську — вже можна вважати копією методичок

Англійську по гарячих темах активно окупують

Українську — не впевнений, але з нашою кількістю москвофілів...

Для введення початкових текстів програм на Адресній мові використовувались спеціалізовані таблиці кодування символів: кирилиці, латиниці, математичних позначок, верхніх та нижніх індексів, начерків, підкреслень, службових, розподільних тощо.

Вот это и есть реальный язык программирования и код нужно приводить на этом языке, потому что тот текст программы, что изображен на скриншоте — это ни о чём.

На сайті yushchenko.infoua.net доступно багато публікацій по Адресній мові програмування. У публікаціях наведено багато початкових текстів програм. Швидко розібратися з програмами не вдається, оскільки необхідно ознайомитись з цією мовою, яка має «екзотичні» позначки та термінологію, яка не збігається з сучасною. Окрім того виникнуть труднощі читання програм, які пов’язані з розбіжностями концепції деревообразних форматів та сучасною концепцією Абстрактних типів даних, хоча за призначенням ці концепції збігаються, якщо не враховувати додаткову можливість деревобразних форматів: у якості складових можуть бути підпрограми, а не лише дані, як у Абстрактних типів даних.

Саме тому було надано фрагмент тексту на Адресній мові, де має бути зрозумілим використання позначок по наведеному поруч тексту на С++.

Швидко розібратися з програмами не вдається, оскільки необхідно ознайомитись з цією мовою, яка має «екзотичні» позначки та термінологію, яка не збігається з сучасною.

Это и говорит о том, что это spin-off от развития. Концепции того же WhirlWind I и потом WhirlWind II стали прототипами всех современных компьютеров.

Также и с указателями. Если ты знаком с устройством вычислительных блоков, их работой, то указатели в С — это всего-лишь надстройка одним уровнем выша на машинными операциями. В указателях нет никакой новизны или прорывного революционного изобретения. Оно таким видится только тем, кто не понимает что под капотом.

«Это похоже на мёртвый язык программирования на бумаге» На Адресній мові програмування працювали комп’ютери, які використовувались при запуску в космос совєтських ракет, так що повз) А щодо С++, то в якому році він з’явився? На момент появи Адресної мови ще й С в природі не було і близько. Тому все ж відносно.

На Адресній мові програмування працювали комп’ютери, які використовувались при запуску в космос совєтських ракет, так що повз

Ну приведи кусочек реального кода, мы посмотрим и на указатели и на всё остальное.

«ПриведиТЕ». Гадаю, можете заглянути в книгу «Адресне програмування». Але найдетальнішу інформацію думаю вам може надати саме пан Ющенко, студентом якого маю честь бути. Я лиш покликаюсь на надану ним інформацію.

Если у тебя нет никакой информации, зачем тогда учавствовать в дискуссии? Массовка? Denys Yakosenko, Андрій Макарець — вся группа анонимов-однодневок будет или только несколько?

Тексти програм наведені у літературі по Адресному програмуванню. Як було зазначено у іншому коментарі: для читання кодів на Адресній мові необхідно ознайомитись з цією мовою, а її опис написано з використанням незвичної для сучасних програмістів термінології.
Програми з використанням адресації 2-ого рангу та схем огляду (складних ієрархічних структур = деревообразных форматов) тут:
1. Построение схем обозревания...........................................................225-235.
и тут:
2. Задача о склеивании квадрата .........................................................264-278.

Бажаю цікавого ознайомлення зі «схемами обозревания информации».

Якщо будуть складнощі, то можу голосом надати допомогти розібратися з «екзотичною» термінологією задля економії Вашого часу.

Отут є цікава англомовна стаття про неї
sudonull.com/...​ny-blog-ua-hostingcompany

Ця англомовна стаття являє собою перекладену вибірку зі статей та містить незначні неточності. В цій статті, та так само у інших, не зазначається про головні досягнення:
1. Списки, складні ієрархічні структури — включено в Адресну мову (1955р.) та апаратно реалізовано в комп’ютері «Київ»
2. Апаратно реалізовано можливість визначати «заголовки циклів» по змінній циклу, яка є адресою (Pointer) (дивись: опис НГО, ОГО та Ф-операції в [1] на стор. 61 та про адресні функції на стор. 67-81).
3. На той час, у 1955р., в світі ще не існувало мов програмування високого рівня та ще не було мови обробки списків. Загальновідомо, що мову Lisp було запропоновано, але не реалізовано, у 1958.
На комп’ютері «Київ» були розв’язані задачі (більше в [1] на сторінках: 82-124):
— «Подпрограмма исправления ошибок в программе» (стор. 99);
— «Решение системы линейных алгебраических уравнений ...» (3 метода на стор. 105 та 1 метод на стор. 108);
в) «Прогноз ветра на среднем уровне.» (стор. 105);
— «Решение уравнения Пуассона для задачи Дирихле.» (стор. 105);
— «Алгоритм раскладки прямоугольных деталей на прямоугольных листах.» (стор. 105)
— «Проектирование профиля автомобильных и железных дорог ...» (стор. 106);
— «Программа для вывода буквенно-цифровой информации на экран электронно-лучевой трубки.» (стор. 107);
— «Программирующая программа для управляющей машины широкого назначения (УМШН) с входным адресным языком ... » (компілятор Адресної мови для комп’ютера «Дніпро» або УМШН, який реалізовано на емуляторі комп’ютера «Дніпро»; це зроблено ще до готовності комп’ютера «Дніпро»; на стор. 107);
— «Гидравлический расчет водопроводных и газовых сетей.» (стор. 107);
— «Реализация алгоритма определения времени повалки бессемеровского конвертера на заданном содержании углерода в металле.» — для «Розумна Домна» в місті Кам’янське (колишній Дніпродзержинськ) за 500км від комп’ютера «Київ»: youtu.be/Mjq2FBZ7VAA (стор. 107);
— «Определение оптимального режима процесса в карбонизационной колонне содового комбината.» (для содового комбінату у м.Слов’янськ; стор. 107);
— «Расчет диаметров и давлений газовых и водопроводных сетей.» (стор. 109);
— «Алгоритм морфологического анализа русского языка» (стор. 109);
— «Алгоритм синтаксического анализа русского языка» (стор. 109);
— «Алгоритм обучения распознавания смысла простых предложений.» (стор. 109);
— «Моделирование процессов биологической эволюции» (стор. 109);
— «Алгоритм обучения распознаванию простейших геометрических фигур» (на основі методів машинного навчання; стор. 110);
— «Корреляционный метод распознавания изображений.» (стор. 110);

Окрім задач та систем, описаних в [1] на комп’ютері «Київ» з застосуванням Адресної мови програмування було реалізовано:
— систему розпізнавання друкованих та рукописних літер і цифр, цитата зі стор. 86 [2]: «автоматичного розпізнавання зорових образів: роботи з автоматичного читання рукописних і друкованих знаків були розпочаті під його керівництвом уже в 1959-1961 роки, а протягом першої половини 60-х років була розвинена кореляційна теорія розпізнавання машинописних знаків і рядків тексту (В.А.Ковалевський, М.І.Шлезінгер), теорія оптимального конструювання еталонів символів, що розпізнаються (М.І.Шлезінгер), були створені послідовно кілька макетів оптичних читаючих автоматів, заснованих на принципах оптичної кореляції („ОКА“ і „ЕОК-Ю“, В.К.Єлісеєв) і електронної кореляції („ЧАРС“, B.А.Ковалевський,
87 А.Г.Семеновський).»;
— систему автоматизованого проектування електричних плат для виробів оборонного, побутового призначення та для проектування самих комп’ютерів (спогади Надії Міщенко, Бориса Маліновського, Віктора Глушкова та інших);
— комп’ютери «Дніпро», «Промінь», «МІР-1» та програмне забезпечення для цих комп’ютерів (про МІР-1 детально описує Надія Міщенко);
— низка задач з грифом «цілком таємно» для міжнародного інституту ядерних досліджень у м.Дубна (у 1959р. другий примірник комп’ютера «Київ» було встановлено в цьому інституті).

Цитати зі стор. 86 [2]:
— " «ЕОМ „Київ“ стала першою в Європі системою цифрової обробки зображень і моделювання інтелектуальних процесів»;
— «До неї (до комп’ютера „Київ“ були підключені два оригінальних периферійних пристрої, які дозволили моделювати на ЕОМ найпростіші алгоритми навчання розпізнаванню образів і навчання цілеспрямованої поведінки: пристрій для введення зображень з паперового носія або фотоплівки і пристрій виведення зображень з ЕОМ.» Для збереження зображень розроблено систему представлення по точкам (тепер називають: растрова графіка) та аналітичними формулами (векторна графіка — подібна).

Особливості Адресної мови:
— дозволяла програмістам використовувати поняття множин та містила засоби їх обробки;
— деревоподібні формати (рос.: «деревообразные формати») являють собою складні ієрархічні структури, яким подібні Абстрактні типи даних, та на відміну від останніх допускають у якості складових мати підпрограми, що подібно об’єктам у ООП;
— у формулах циклування («заголовках» циклів) передбачається визначення вкладених циклів, декартового добутку множин, об’єднання множин тощо);
— для однієї множини можна визначати декілька схем огляду (схоже на поняття «обхід дерева»);
— заголовок циклу типу «for i from 1 to n» можна визначати не лише для змінної «i» арифметичного типу, а й для типу «Pointer»;
— наявність «мінус-штрих операції» в Адресному програмуванню дозволяє «пробігати» однозв’язні лінійні списки у зворотному напрямі так само, як двозв’язні списки у сучасних імперативних мовах програмування.

1. Глушков В. М., Вычислительная машина «Киев». Математическое описание / В. М. Глушков, Е. Л. Ющенко. // К. : — Гостехиздат УССР, 1962. — 183 c. : ил. files.infoua.net/...​hkov_EYushchenko_1962.pdf .
Перекладено та видано у США: Glushkov V. M. The Kiev Computer; a Mathematical Description / V. M. Glushkov, E. L. Yushchenko // Translation Division, Foreign Technology Div., Wright-Pattenon AFB, Ohio, Mar 1966 — 234p. — 1966, ASIN: ‎B0007G3QGC, FTD-TT-65-972, TT-66-62056. — USA.

2. Малиновський Б.М., Історія обчислювальної техніки в особах / — К.: фірма «КИТ», ПТОО «А.С.К.», 1995. — 384 с., іл., ISBN 5-7707-6131-8 icfcst.kiev.ua/...​alinovsky_history_ukr.pdf .

Адресну мову програмування слід відносити до багатоконцептуальних мов.
За алфавітом та термінологією можна вважати цю мовою «екзотичною».
Для введення текстів програм на Адресній мові використовувались спеціалізовані таблиці кодування символів: кирилиці, латиниці, математичних позначок, верхніх та нижніх індексів, начерків, підкреслень, службових, розподільних тощо.

Важко сказати, але мені здається, що мама цього Юрія.

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

Нашёл что читать. Ещё бы Йулю послухать предложил.

Чітатєль лише заголовків детектед

Ну і до чого тут це? Ющенко Катерина Логвинівна — радянська науковиця. Справжня людина. Одним словом: «Чув дзвін, та не знаю, де він».

Підписатись на коментарі