PDA

Просмотр полной версии : Рапира и её создатели



litwr
06.06.2021, 17:48
3аметил, что на викестранице для Агата есть снимок экрана с результатами вычислений на Рапире - https://upload.wikimedia.org/wikipedia/commons/9/99/Agat-9_RAPIRA_int.png - там ответ неправильный. Запустил в эмуляторе, но там всё правильно... Может для википедии снимок сделали с какой-то битой версии? Очень интересно, что в Рапире использовались такие большие целые числа - это ведь была атака на монополию мейнфреймов, которые позволяли использовать только до 127 десятичных знаков. В Рапире можно было больше 300! Может кто знает, откуда там взялась поддержка таких больших чисел?
Когда-то мой студент сделал транслятор с Рапиры как дипломную работы. К сожалению, планам по дальнейшей разработке транслятора не суждено было осуществиться.
Только недавно узнал, что у первоначальной разработки Рапиры также была прерванная история. Её главный разработчик Геннадий Звенигородский покинул нас в 1984, будучи всего 32-летним молодым человеком. :( Hигде не нашел ничего о том, что же с ним случилось: болезнь, несчастный случай, ... Вокруг Агатов много всего происходило необычного. Может кто что-нибудь знает?
И его учитель, академик Ершов тоже как-то совсем рано ушел. :( Прямо как-то почти выборочно косило тех, кто хорошо разбирался в компьютерах в 80-е. Можно ещё академика Глушкова вспомнить. Или генерала Трофимова, который курировал ИТ в армии, и погиб при неясных обстоятельствах в 1987.

avivanov76
13.06.2021, 12:40
атака на монополию мейнфреймов

Звучит как заголовок из жёлтой прессы, извините. Вы про длинную арифметику (https://ru.wikipedia.org/wiki/%D0%94%D0%BB%D0%B8%D0%BD%D0%BD%D0%B0%D1%8F_%D0%B0% D1%80%D0%B8%D1%84%D0%BC%D0%B5%D1%82%D0%B8%D0%BA%D0 %B0) слышали? На нее ни у каких компьютеров монополии нет. Это чисто программная штука. Библиотеки для ее реализации есть для многих языков программирования. И довольно странно сравнивать "Агат", выдающий около 40 инструкций в секунду в тесте Dhrystone, и мейнфреймы, которые в этом тесте выдают от миллионов до миллиардов инструкций.

Зачем длинная арифметика понадобилась в Рапире? Точный ответ мы теперь вряд ли узнаем. Но наверно ее поддержку сделали для того же, для чего применяется сама длинная арифметика: криптография, математические и финансовые программы. Возможно, для школ с математическим уклоном это было нужно.

Про смерть Звенигородского нашел несколько ссылок:
https://web.archive.org/web/20111211215623/http://www.clines.ru/vit/son.html
http://gumnaziya.narod.ru/web06/natasha/html/list16.htm
https://history-ivt.at.ua/blog/kharkovskaja_stranichka/2010-05-11-8

Не знаю, насколько им можно верить, но говорят они все про запущенную простуду, перешедшую в воспаление легких. У Звенигородского уже был назначен срок защиты диссертации, времени болеть и бегать по врачам у него не было. Да и диагностика тогда была не ахти. Сейчас бы его живо отправили на КТ и, скорее всего, спасли бы.

litwr
16.06.2021, 00:18
Звучит как заголовок из жёлтой прессы, извините. Вы про длинную арифметику (https://ru.wikipedia.org/wiki/%D0%94%D0%BB%D0%B8%D0%BD%D0%BD%D0%B0%D1%8F_%D0%B0% D1%80%D0%B8%D1%84%D0%BC%D0%B5%D1%82%D0%B8%D0%BA%D0 %B0) слышали? На нее ни у каких компьютеров монополии нет. Это чисто программная штука. Библиотеки для ее реализации есть для многих языков программирования. И довольно странно сравнивать "Агат", выдающий около 40 инструкций в секунду в тесте Dhrystone, и мейнфреймы, которые в этом тесте выдают от миллионов до миллиардов инструкций.

Зачем длинная арифметика понадобилась в Рапире? Точный ответ мы теперь вряд ли узнаем. Но наверно ее поддержку сделали для того же, для чего применяется сама длинная арифметика: криптография, математические и финансовые программы. Возможно, для школ с математическим уклоном это было нужно.

Про смерть Звенигородского нашел несколько ссылок:
https://web.archive.org/web/20111211215623/http://www.clines.ru/vit/son.html
http://gumnaziya.narod.ru/web06/natasha/html/list16.htm
https://history-ivt.at.ua/blog/kharkovskaja_stranichka/2010-05-11-8

Не знаю, насколько им можно верить, но говорят они все про запущенную простуду, перешедшую в воспаление легких. У Звенигородского уже был назначен срок защиты диссертации, времени болеть и бегать по врачам у него не было. Да и диагностика тогда была не ахти. Сейчас бы его живо отправили на КТ и, скорее всего, спасли бы.

Благодарю за ссылки. Грустная история.

Про длинную арифметику все мы слышали, но будет очень удивительно, если вы сможете назвать хоть один ЯП для ПК кроме рапиры, который в 80-е поддерживал таковую. А на 8-битных машинах целые были, как правило, в пределах примерно 32000 по модулю. К 90-м вышли на 32-битную арифметику, но только на 16/32-разрядных ПК. На мейнфреймах реально можно было с длинной арифметикой работать, аппаратура поддерживала до 127 знаков (программы меньше). Мейнфреймы были разных классов, на самых дешевых производительность была вполне сравнима с ПК. Так что рапира реально рвала шаблоны того времени. Кроме того, это язык по типам данных и операторам класса питона - это также очень круто для 8-биток в частности и для ПК в 80-е вообще.
В этой связи возник новый вопрос. А когда пользователи реально получили возможность использовать рапиру? Английская википедия сообщает про 1987 - это верно? Там даже указана какая-то конкретная дата - 10 августа. Что это было?

Прикрепляю снимок экрана со своими экспериментами с длинными числами на рапире. Появилась идея почему в википедии снимок показывает неверное число: 2^1016 < 3^641 и 2^1016 - это предел для рапиры. Удивительно поэтому, что на моем снимке ответ правильный. Особенно удивительно, что на обоих снимках указанa одна и та же версия рапиры - 1.3 - чудеса.
75613

На миллиарды мейнфреймы возможно вышли уже только после 2000-х. :) Была фактически монополия, только к концу 90-х в некоторых ЯП появилась поддержка очень длинных целых.

litwr
16.06.2021, 06:15
И довольно странно сравнивать "Агат", выдающий около 40 инструкций в секунду в тесте Dhrystone, и мейнфреймы, которые в этом тесте выдают от миллионов до миллиардов инструкций.
Этот тест очень зависит от качества компилятора и хорошие компиляторы С появились для 6502 довольно поздно. Современный компилятор СС65 выдаёт уже примерно 240 - https://www.lemon64.com/forum/viewtopic.php?t=75283&sid=7bf7669aa36bb12a23b67779d4dbdc20 - Apple II чуть быстрее Коммодора. Для самого быстрого VAX-11 модели 785 имеем только примерно 2100 "камней" - этот Вакс обгонял тогда мейнфреймы среднего класса. Лучшие мейнфреймы и суперкомпьютеры середины 80-х - это диапазон 10000-20000 - даже не миллионы совсем - https://tech-insider.org/unix/research/1986/0219.html - сомневаюсь. что даже лучшие современные мейнфреймы дадут миллиард.

GARNIZON
16.06.2021, 19:33
А когда пользователи реально получили возможность использовать рапиру? Английская википедия сообщает про 1987 - это верно? Там даже указана какая-то конкретная дата - 10 августа

С конца 84 года в комплекте с КАЖДЫМ агатом был диск с рапирой 1.2. Т.е. и до серийные и ВСЕ серийные имели в комплекте диск ШКОЛЬНИЦА.

На сайте полно программ написанных школьниками с самого начала 85 года.
http://agatcomp.ru/agat/Software/AOS/Novosib166/166history.gif



Но сама рапира ждала серийного агата с 83 года, как и методички для учителей.

Sergei Frolov
16.06.2021, 22:26
Читал исходники "Рапиры". В комментариях такой текст: "Восклицательными знаками отмечены наиболее нетривиальные места". Кроме этих восклицательных знаков других комментариев практически не было.

avivanov76
17.06.2021, 18:37
Про длинную арифметику все мы слышали, но будет очень удивительно, если вы сможете назвать хоть один ЯП для ПК кроме рапиры, который в 80-е поддерживал таковую. А на 8-битных машинах целые были, как правило, в пределах примерно 32000 по модулю.
Ну, тут ситуация как с Неуловимым Джо. Реально длинная арифметика нужна только в очень специфических задачах. Производительность ее на персоналках 80-х была бы хилая. И если бы она так уж понадобилась, то практически на любом языке ее можно было бы реализовать программно.

Что касается Рапиры, то она, если я правильно понял, создавалась на мейнфрейме БЭСМ-6, там явно проблем с производительностью не было. Создавалась в вычислительном центре академии наук, то есть и специфические задачи могли быть. А "Агату" длинная арифметика, скорее всего, просто досталась "в наследство".


А когда пользователи реально получили возможность использовать рапиру? Английская википедия сообщает про 1987 - это верно?
Преподавать Рапиру начали минимум с 1979-го года (http://ershov.iis.nsk.su/ru/node/806687). А начиная с 1980 года в журнале "Квант" начали публиковать ее описание.
Указанная в английской википедии дата - это дата английской версии статьи "Язык программирования рапира" из архива Ершова. Англоговорящим редакторам тяжело работать с русскоязычными источниками, поэтому они выкручиваются, как могут :)


Появилась идея почему в википедии снимок показывает неверное число: 2^1016 < 3^641 и 2^1016 - это предел для рапиры.
Так неправильно же, 21016 = 7,022*10305 > 3641 = 6,834*10305. И если бы было переполнение, Рапира бы сказала :)


На миллиарды мейнфреймы возможно вышли уже только после 2000-х. :) Была фактически монополия, только к концу 90-х в некоторых ЯП появилась поддержка очень длинных целых.
Да, виноват, смешал DMIPS и число итераций. 1 DMIPS = 1757 итераций теста в секунду. В результате сотни тысяч итераций превращаются в сотни миллионов инструкций.

litwr
18.06.2021, 22:41
С конца 84 года в комплекте с КАЖДЫМ агатом был диск с рапирой 1.2.
А известно, когда появилась последняя версия, 1.3?

Читал исходники "Рапиры". В комментариях такой текст: "Восклицательными знаками отмечены наиболее нетривиальные места". Кроме этих восклицательных знаков других комментариев практически не было.
А можно ссылку на исходники?

Ну, тут ситуация как с Неуловимым Джо. Реально длинная арифметика нужна только в очень специфических задачах. Производительность ее на персоналках 80-х была бы хилая. И если бы она так уж понадобилась, то практически на любом языке ее можно было бы реализовать программно.
Однако не реализовывали - заставляли многих юзеров даже вместо 33000 отрицательное число писать. :) А длинная арифметика (умеренной длины знаков до 30) очень даже хороша для коммерческих задач - именно так её на мейнфреймах в основном и использовали.


Что касается Рапиры, то она, если я правильно понял, создавалась на мейнфрейме БЭСМ-6, там явно проблем с производительностью не было. Создавалась в вычислительном центре академии наук, то есть и специфические задачи могли быть. А "Агату" длинная арифметика, скорее всего, просто досталась "в наследство".
Никогда не встречал, чтобы БЭСМ-6 называвали мейнфреймом - все-таки не бизнес-компьютер. Скорее просто быстрая машинка, почти супер-компьютер. Но памяти мало - для широкого круга задач недостаточно.


Указанная в английской википедии дата - это дата английской версии статьи "Язык программирования рапира" из архива Ершова. Англоговорящим редакторам тяжело работать с русскоязычными источниками, поэтому они выкручиваются, как могут :)
Интересно, надо подправить там получается.



Так неправильно же, 21016 = 7,022*10305 > 3641 = 6,834*10305. И если бы было переполнение, Рапира бы сказала :)

Это точно. Однако, получается, что вопрос остается, почему же на снимке в википедии неверный ответ?

Lethargeek
19.06.2021, 11:35
Однако не реализовывали - заставляли многих юзеров даже вместо 33000 отрицательное число писать.
еще как реализовывали - даже без учёта спецмашин, универсальные языки и диалекты с поддержкой произвольной разрядности (ограниченной лишь только объёмом памяти, а не жалкие 300 знаков)) известны как минимум с начала 70-х


А длинная арифметика (умеренной длины знаков до 30) очень даже хороша для коммерческих задач - именно так её на мейнфреймах в основном и использовали.
уже не знаю как там на всех мэйнфреймах, но на слабых машинах для коммерческих задач издавна применялись BCD-числа
и в агатовской Рапире тоже, скорей всего, благо в 6502 для BCD аж целый спецрежим предусмотрен

- - - Добавлено - - -

так что ни о каких мифических "атаках на монополию мэйнфреймов" здесь, конечно, речи идти не может

litwr
20.06.2021, 23:42
еще как реализовывали - даже без учёта спецмашин, универсальные языки и диалекты с поддержкой произвольной разрядности (ограниченной лишь только объёмом памяти, а не жалкие 300 знаков)) известны как минимум с начала 70-х
Загадками говорить изволите. Если можете назвать хоть один язык программирования или, скажем, электронные таблицв или СУБД, где такое было "из коробки", то было бы интересно об этом узнать. Но уверен, что для 8-битных машин Вы даже сегодня ничего кроме рапиры для этого не найдёте. Сомневаюсь даже, что найдете что-то для 16-битных. То что, что-то известно как теоретически возможное, не значит, что оно есть или было.



уже не знаю как там на всех мэйнфреймах, но на слабых машинах для коммерческих задач издавна применялись BCD-числа
и в агатовской Рапире тоже, скорей всего, благо в 6502 для BCD аж целый спецрежим предусмотрен
BCD-арифметика широко на 8-битках для целых чисел применялась почему-то очень редко, никаких мало-мальсчки известных систем с такими числами не было. BCD-арифметику использовали довольно широко только для FP, но это не наш случай - там точность была всего несколько байт. В агатовской рапире сомневаюсь, что были BCD. Все-таки 2^1016 - это ровно 127 байт. Но точно не знаю, может и BCD - может кто знает об этом точно?


так что ни о каких мифических "атаках на монополию мэйнфреймов" здесь, конечно, речи идти не может
Не знаю, конечно, что там думали люди об этом в те давние времена. Но представляю, что американские топ-менеджеры на Cebit 1984, если им показали рапиру могли почувствствовать себя плохо - рапира ломала им все бизнес-шаблоны, а это очень серьёзно. Из-за такого много чего очень большого может случиться... Кстати, а кто-нибудь про эту поездку на Cebit воспоминаний не оставил? Eздил ли туда Геннадий Звенигородский? Очень это было необычное предприятие... Интересно было бы, если бы ещё и бэкашку туда с собой взяли. :)

klingon
21.06.2021, 12:09
Загадками говорить изволите. Если можете назвать хоть один язык программирования или, скажем, электронные таблицв или СУБД, где такое было "из коробки", то было бы интересно об этом узнать. Но уверен, что для 8-битных машин Вы даже сегодня ничего кроме рапиры для этого не найдёте. Сомневаюсь даже, что найдете что-то для 16-битных. То что, что-то известно как теоретически возможное, не значит, что оно есть или было.


BCD-арифметика широко на 8-битках для целых чисел применялась почему-то очень редко, никаких мало-мальсчки известных систем с такими числами не было. BCD-арифметику использовали довольно широко только для FP, но это не наш случай - там точность была всего несколько байт. В агатовской рапире сомневаюсь, что были BCD. Все-таки 2^1016 - это ровно 127 байт. Но точно не знаю, может и BCD - может кто знает об этом точно?


Не знаю, конечно, что там думали люди об этом в те давние времена. Но представляю, что американские топ-менеджеры на Cebit 1984, если им показали рапиру могли почувствствовать себя плохо - рапира ломала им все бизнес-шаблоны, а это очень серьёзно. Из-за такого много чего очень большого может случиться... Кстати, а кто-нибудь про эту поездку на Cebit воспоминаний не оставил? Eздил ли туда Геннадий Звенигородский? Очень это было необычное предприятие... Интересно было бы, если бы ещё и бэкашку туда с собой взяли. :)

если не было на восьмибитках BCD так наверное потому, что это было не очень перспективно, то есть спроса не было, только поиграться

Lethargeek
21.06.2021, 14:22
Загадками говорить изволите. Если можете назвать хоть один язык программирования или, скажем, электронные таблицв или СУБД, где такое было "из коробки", то было бы интересно об этом узнать.
уметь гуглем пользоваться изволю:
https://stackoverflow.com/questions/5893610/why-in-lisp-there-is-no-limitation-for-number
http://www.maclisp.info/pitmanual/number.html
сам язык 1966 года, но bignum вроде только с 1970 - PDP-6, PDP-10 и далее


Но уверен, что для 8-битных машин Вы даже сегодня ничего кроме рапиры для этого не найдёте. Сомневаюсь даже, что найдете что-то для 16-битных.
для восьмибиток, найдено за 10 минут гугления, еще 1983 года выпуска:
http://www.softwarepreservation.org/projects/LISP/le_lisp
ЧСХ конверсия на Z80/8080 предназначена для образовательной сферы - как и с Рапирой на 6502, не было коммерческого смысла, только академический


То что, что-то известно как теоретически возможное, не значит, что оно есть или было.
то, что кто-то не умеет или не желает искать чего-то, не гарантирует, что этого чего-то практически не было :p


BCD-арифметика широко на 8-битках для целых чисел применялась почему-то очень редко, никаких мало-мальсчки известных систем с такими числами не было. BCD-арифметику использовали довольно широко только для FP, но это не наш случай - там точность была всего несколько байт.
точность там могла быть сколько угодно байт, да и разницы между целыми и десятичнодробными нет особой
вообще у BCD два основных плюса: нет двоичных артефактов при вычисления и быстрая конверсия в символьный вывод
для всякой бухгалтерии и статистики, когда нужно выдать тучу цифр после относительно несложных расчётов, могло ролять
https://retrocomputing.stackexchange.com/questions/11931/did-any-micros-use-the-6502-bcd-mode-in-their-os


Не знаю, конечно, что там думали люди об этом в те давние времена. Но представляю, что американские топ-менеджеры на Cebit 1984, если им показали рапиру могли почувствствовать себя плохо - рапира ломала им все бизнес-шаблоны, а это очень серьёзно.
бугагашеньки, ну что школьная Рапира на дохлом 6502 им могла "сломать"? только посмеялись бы, да и всё
если уж в те же времена не взлетел куда более серьёзный ML для VAX и 68K (до которого Рапире как до Луны)

avivanov76
21.06.2021, 19:35
Никогда не встречал, чтобы БЭСМ-6 называвали мейнфреймом - все-таки не бизнес-компьютер.
Если дословно перевести mainframe - то получится "главная рама". Когда мейнфреймы только появились, стандарта на стойки еще не было, блоки компьютера крепились на раму. А в случае ламповых и транзисторных компьютеров, в одну стойку какой-то законченный функциональный узел мог и не уместиться. Так что термин "мейнфрейм" связан не столько с бизнесом, сколько с конструктивным исполнением.


Однако не реализовывали - заставляли многих юзеров даже вместо 33000 отрицательное число писать. А длинная арифметика (умеренной длины знаков до 30) очень даже хороша для коммерческих задач - именно так её на мейнфреймах в основном и использовали.
Я наверно плохо объяснил. Уже существующие языки для персоналок, такие как C, Pascal или Basic не запрещали взять большое число и представить его в виде нескольких сомножителей, которые можно поместить в массив. И дальше написать несколько процедур, которые будут делать арифметические действия над элементами этого массива как над одним большим числом.
Да, это не очень удобно по сравнению со встроенной поддержкой, но вполне реализуемо. А поскольку реальная потребность в таких вычислениях была невелика, встроенная поддержка была лишь в некоторых языках, типа Лиспа.


BCD-арифметика широко на 8-битках для целых чисел применялась почему-то очень редко, никаких мало-мальсчки известных систем с такими числами не было.

Ну как сказать, Visicalc и Multiplan - это не был совсем уж неизвестный софт. И там BCD использовалась именно для финансовых расчетов.


Но представляю, что американские топ-менеджеры на Cebit 1984, если им показали рапиру могли почувствствовать себя плохо - рапира ломала им все бизнес-шаблоны, а это очень серьёзно.

Давайте поставим мысленный эксперимент: есть топ-менеджер американской компании, которая написала софт для крупной сети магазинов. Софт работает на мейнфрейме, учитывает миллионы кассовых чеков ежедневно, рассчитывает складские запасы, считает зарплату работников с учетом специфики американского законодательства и т.д.
Этому менеджеру представитель советской делегации на Cebit показывает компьютер с Рапирой.
В какой момент топ-менеджер должен почувствовать себя плохо, если:
1) Рапира работает на уникальном советском компьютере, который не предполагается экспортировать в США, а даже если и предполагается, то стоить он будет в разы дороже, чем местные аналоги;
2) простейшей программе на Рапире нужно восемь секунд, чтобы сложить 1000 30-значных целых чисел. Средний мейнфрейм тех лет складывал 10 миллионов чисел за одну секунду;
3) конкурирующего софта-то нет. Рапира - это только язык. Софт еще надо написать. Американские программисты за это не возьмутся, потому что им кроме самой Рапиры надо еще учить русский язык, но и советские программисты не смогут написать этот софт в обозримые сроки, потому что они не знакомы с капитализмом и бизнесом и не знают американского законодательства.

Еще надо учитывать, что мейнфрейм - это не только быстродействие. Это еще и системы хранения данных и высокая надежность. Кроме того, бизнес консервативен. Он просто так не побежит менять одни железки на другие. Какая-то американская компания в середине 90-х искала программистов на Коболе, потому что у них 30 лет пахал мейнфрейм и они не меняли его до последнего.

litwr
26.06.2021, 12:46
уметь гуглем пользоваться изволю:
https://stackoverflow.com/questions/5893610/why-in-lisp-there-is-no-limitation-for-number
http://www.maclisp.info/pitmanual/number.html
сам язык 1966 года, но bignum вроде только с 1970 - PDP-6, PDP-10 и далее

для восьмибиток, найдено за 10 минут гугления, еще 1983 года выпуска:
http://www.softwarepreservation.org/projects/LISP/le_lisp
ЧСХ конверсия на Z80/8080 предназначена для образовательной сферы - как и с Рапирой на 6502, не было коммерческого смысла, только академический
К сожалению, никаких прямых свидетельств того, что на 8-битках были длинные числа не обнаружил. Обнаружил только, что маклисп поддерживал длинные целые. Сам использовал до конца 90-х мюлисп для IBM PC DOS - там тоже есть длинные целые - но забыл об этом - давно было дело. :) Обнаружил, что LeLisp был портирован для 8080 и z80, но с ОГРАНИЧЕНИЯМИ. Базовый LeLisp поддерживает длинные целые. Но поддерживает ли портированный - это вопрос. И даже если поддерживает, то это была какая-то французская разработка, а Франция тогда имела относительно независимую политику. Кстати, на 6502 лисп сделали только в 2013 - https://hackaday.com/2013/10/20/the-apple-iie-becomes-a-lisp-machine/ :) Скорее только в сферу образования и удалось пробиться. И сегодня ничто вроде не мешает сделать decimal FP универсальной библиотекой, но реально он есть только для мейнфреймов (аппаратно) и Microsoft .NET.


точность там могла быть сколько угодно байт, да и разницы между целыми и десятичнодробными нет особой
Вы меня не поняли. Я написал, что BCD широко использовали для стандартных FP операций, например, в бейсике. А формат и точность там жестко фиксированы.


бугагашеньки, ну что школьная Рапира на дохлом 6502 им могла "сломать"? только посмеялись бы, да и всё
если уж в те же времена не взлетел куда более серьёзный ML для VAX и 68K (до которого Рапире как до Луны)
И где этот ML ныне? А рапироподобный питон очень даже неплохо вырос, а появился питон существенно попозже рапиры и на 8-битках никогда не работал. Вот показывают уважаемому человеку, то что у него в бизнес-планах только лет через 5 появится, он может и расстроиться...


Если дословно перевести mainframe - то получится "главная рама". Когда мейнфреймы только появились, стандарта на стойки еще не было, блоки компьютера крепились на раму. А в случае ламповых и транзисторных компьютеров, в одну стойку какой-то законченный функциональный узел мог и не уместиться. Так что термин "мейнфрейм" связан не столько с бизнесом, сколько с конструктивным исполнением.
Это в давно забытом смысле из 60-х - это какой-то древнекомпьютерный - так не говорят уже очень давно. :)



Я наверно плохо объяснил. Уже существующие языки для персоналок, такие как C, Pascal или Basic не запрещали взять большое число и представить его в виде нескольких сомножителей, которые можно поместить в массив. И дальше написать несколько процедур, которые будут делать арифметические действия над элементами этого массива как над одним большим числом.
Да, это не очень удобно по сравнению со встроенной поддержкой, но вполне реализуемо. А поскольку реальная потребность в таких вычислениях была невелика, встроенная поддержка была лишь в некоторых языках, типа Лиспа.
Это и на машине Тьюринга можно. Делать такое на древнем бейсике тоже не посоветyю. А реально, извините за повторение, у абсолютного большинства юзеров был бейсик и 16-битные целые. Набирает, например, юзер популярнейшего С64 ?FRE(0), а ему печатается -26627 - умный юзер должен догадаться добавить к этому числу 65536. :) Подобные трюки нужно было знать и пользователям Аппл 2 и многих других компиков.


Ну как сказать, Visicalc и Multiplan - это не был совсем уж неизвестный софт. И там BCD использовалась именно для финансовых расчетов.
Но там это был именно FP, а не длинные целые.


Давайте поставим мысленный эксперимент: есть топ-менеджер американской компании, которая написала софт для крупной сети магазинов. Софт работает на мейнфрейме, учитывает миллионы кассовых чеков ежедневно, рассчитывает складские запасы, считает зарплату работников с учетом специфики американского законодательства и т.д.
Этому менеджеру представитель советской делегации на Cebit показывает компьютер с Рапирой.
В какой момент топ-менеджер должен почувствовать себя плохо, если:
1) Рапира работает на уникальном советском компьютере, который не предполагается экспортировать в США, а даже если и предполагается, то стоить он будет в разы дороже, чем местные аналоги;
2) простейшей программе на Рапире нужно восемь секунд, чтобы сложить 1000 30-значных целых чисел. Средний мейнфрейм тех лет складывал 10 миллионов чисел за одну секунду;
3) конкурирующего софта-то нет. Рапира - это только язык. Софт еще надо написать. Американские программисты за это не возьмутся, потому что им кроме самой Рапиры надо еще учить русский язык, но и советские программисты не смогут написать этот софт в обозримые сроки, потому что они не знакомы с капитализмом и бизнесом и не знают американского законодательства.

Еще надо учитывать, что мейнфрейм - это не только быстродействие. Это еще и системы хранения данных и высокая надежность. Кроме того, бизнес консервативен. Он просто так не побежит менять одни железки на другие. Какая-то американская компания в середине 90-х искала программистов на Коболе, потому что у них 30 лет пахал мейнфрейм и они не меняли его до последнего.
Лео в своей знаменитой статье про Агат-4 написал про клон Аппл 2, а не про "уникальный советский компьютер". Он ещё писал, что его собираются продавать за рубеж - Жигули и Нивы же продавали. Про цены он наврал...
Сам тестировал мейнфрейм 4361-1 пару лет назад - нет там десятков миллионов, только не более 200-300 тысяч таких сложений. В лучших вариантах 4361 могу предположить до миллиона.
Сделать Рапиру в экспортном исполнении - это было очень просто. Надо только ключевые слова поменять. :) Кстати, автор лиспа владел русским - родители-коммунисты. :)
Безусловно Агату далеко было до мейнфрейма, но время среднего мейнфрейма стоило в середине 80-х от $20 за час, плюс доплата за диски, распечатки и т.п... Вместо недели работы можно купить несколько Агатов, а это тоже сила. :)

Lethargeek
26.06.2021, 16:55
К сожалению, никаких прямых свидетельств того, что на 8-битках были длинные числа не обнаружил. Обнаружил только, что маклисп поддерживал длинные целые. Сам использовал до конца 90-х мюлисп для IBM PC DOS - там тоже есть длинные целые - но забыл об этом - давно было дело. Обнаружил, что LeLisp был портирован для 8080 и z80, но с ОГРАНИЧЕНИЯМИ. Базовый LeLisp поддерживает длинные целые. Но поддерживает ли портированный - это вопрос.
в мануалах поздних версий точно заявлено, а в ранних (что нашёл, только по-французски) хрен разберёшься
да и какая разница, если полная версия была еще раньше доступна для 68K - куда более актуального для бизнеса, даже малого
восьмибитки в бизнесе применялись в основном в качестве печатных машинок и простых бухгалтерских калькуляторов
вообще в чём такая важность и достижение в поддержке длинной арифметики на дохлых восьмибитных машинах?
это как аглицкую блоху подковать - ноль практического смысла, только испортить


Вы меня не поняли. Я написал, что BCD широко использовали для стандартных FP операций, например, в бейсике.
я-то как раз понял, и повторю:

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


А формат и точность там жестко фиксированы.
иииии что? нету никаких принципиальных ограничений зафиксировать другие формат и точность или не фиксировать вообще


И где этот ML ныне?
до сих пор среди живых языков, был портирован на кучу архитектур

в отличие :p


А рапироподобный питон очень даже неплохо вырос,
анекдот - "а кто на нас с Васей?"))) сам-то Гвидо в курсе, что его питон "рапироподобный"? :rolleyes:


Лео в своей знаменитой статье про Агат-4 написал про клон Аппл 2, а не про "уникальный советский компьютер"
на заборе тоже много чего писали, а по факту на то время агат с эплом несовместим


Безусловно Агату далеко было до мейнфрейма, но время среднего мейнфрейма стоило в середине 80-х от $20 за час, плюс доплата за диски, распечатки и т.п... Вместо недели работы можно купить несколько Агатов, а это тоже сила.
повторю, даже мелкому буржуину в это время куда лучше было бы прикупить вполне ему доступную машину на 68K
до которой дохлому и глючному агату тоже далековато, в том числе и в плане точности вычислений

klingon
26.06.2021, 18:08
Лео в своей знаменитой статье про Агат-4 написал про клон Аппл 2, а не про "уникальный советский компьютер". Он ещё писал, что его собираются продавать за рубеж - Жигули и Нивы же продавали. Про цены он наврал...

как уже было указано, то Агат не удачный клон, и вряд-ли он бы стоил дешевле Apple II. И на последний было куча софта, зачем бы бизнесу покупать Агат?
Рапира - для школьников поиграться, еще понятно зачем операции с длинными числами. Мало всего - памяти, скорости - это же интерпретатор. длинные числа - не новое - есть в Lisp.

Вообще много хороших концептуальных языков в то время было https://ru.wikipedia.org/wiki/Хронология_языков_программ ирования (https://ru.wikipedia.org/wiki/Хронология_языков_программ ирования#1980-е)
когда товарищи еще переходили к процедурному программированию, буржуины во всю уже концепции объектно-ориентированного применяли - smalltalk тот же.

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

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

avivanov76
26.06.2021, 19:13
К сожалению, никаких прямых свидетельств того, что на 8-битках были длинные числа не обнаружил. Обнаружил только, что маклисп поддерживал длинные целые. Сам использовал до конца 90-х мюлисп для IBM PC DOS - там тоже есть длинные целые

Так был же целый пакет muMATH-80, с версиями под CP/M, TRS-DOS и APPLE. Вот инструкция http://oldcomputers.dyndns.org/public/pub/manuals/muMATH_for_TRS-80.pdf
Там на 7 странице 2 возводится в 1023 степень и все знаки выводятся.


рапироподобный питон

Питон все же стоит от Рапиры очень далеко. Есть пара похожих мест, но и все на этом.
Да и Рапира, по словам ее создателей, построена: "на базе адаптированного к условиями обучения школьников объединения полезных возможностей Сетла (https://en.wikipedia.org/wiki/SETL) и Поплана (https://en.wikipedia.org/wiki/POP-2)".


Делать такое на древнем бейсике тоже не посоветyю.

А причем тут древность бейсика, собственно? Да, будет медленно, но принципиально ничего не мешает так сделать.


Лео в своей знаменитой статье про Агат-4 написал про клон Аппл 2, а не про "уникальный советский компьютер". Он ещё писал, что его собираются продавать за рубеж - Жигули и Нивы же продавали. Про цены он наврал...

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

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

В случае с компьютерами продавать пришлось бы еще дешевле. Как минимум, если бы СССР попытался продавать компьютеры в США, то попал бы под заградительный налог на импортную (для США импортную) технику. Было бы очень странно продавать за рубеж компьютеры по бросовым ценам, когда их в стране не хватает.


Сам тестировал мейнфрейм 4361-1 пару лет назад - нет там десятков миллионов, только не более 200-300 тысяч таких сложений. В лучших вариантах 4361 могу предположить до миллиона.

Серия 43xx - это small mainframe, эдакий Celeron среди мейнфреймов. Он между мини и супермини-компьютерами типа VAX. Единичка говорит, что это вариант минимальной производительности, установка дополнительных опций могла поднять производительность раз в пять.

Но главное, а как с системами хранения данных и надежностью? На мейнфрейме хранились и обрабатывались сотни мегабайт. Что мог Агат в 1984 году тут противопоставить? 140 килобайтный дисковод? Я помню, как у нас в школе это работало: вставил дискету от своего компьютера в соседний, записал что-нибудь, и все, на своем компьютере дискета уже не читается.

litwr
27.06.2021, 15:46
Выяснили, что для 6502 длиные целые были только у рапиры.


восьмибитки в бизнесе применялись в основном в качестве печатных машинок и простых бухгалтерских калькуляторов
вообще в чём такая важность и достижение в поддержке длинной арифметики на дохлых восьмибитных машинах?
Visicalc и Multiplan превращали 8-битки в довольно мощные инструменты, а аккуратно деньги считать, чем и славятся мейнфреймы, и им тоже не мешает. Разница только в масштабах, на 8-битке можно работать с бухгалтерией только небольшого предприятия, до человек 100, хотя можно и до 1000 в некоторых случаях.



..."точность там могла быть сколько угодно байт, да и разницы между целыми и десятичнодробными нет особой"...
иииии что? нету никаких принципиальных ограничений зафиксировать другие формат и точность или не фиксировать вообще
Очень даже принципиальные ограничения. Десятичные целые и десятичные вещественные - это совсем разные типы. Мейнфреймы первые поддерживали изначально, причем в отличие от более поздних процессоров, со знаком, а вторые стали поддерживать только, начиная с System/Z.
Как вы представляете "зафиксировать другой формат"? Это надо ПЗУ менять, а сначала переписать то, на что много сил и средств ушло. Это типа и на Марсе можно оранжерею соорудить. :)



анекдот - "а кто на нас с Васей?"))) сам-то Гвидо в курсе, что его питон "рапироподобный"? :rolleyes:
Вы бы посмотрели как классно рапира работает со строками - также как и питон или рубин намного позже и только для гораздо более тяжелых архитектур. А операторы рапиры - тоже всё супер. А вложекнные списки (кортежи), тип подпрограмм и даже множества - может Гвидо всё это из рапиры и вытащил. Не понимаю Вашей шутки. Знай Гвидо про рапиру, возможно удавился бы от зависти. :)


Использование русских слов - полный тупик.
Извиняюсь, что приходится повторять, но заменить ВЫБОР ИЗ на CASE OF или ИНАЧЕ на ELSE и т.п. это делов на несколько часов, а идентификаторы латиницей рапира умеет и без модификаций.
В 50-е лучшие американские студенты по ИТ учили русский и боялись, что скоро их штаты превратятся на фоне СССР в научный отстой. И такое не сказать, чтобы было совсем невозможно. Не случайно в известном фильме Заводной апельсин язык будущих англичан - это помесь русского с английским. :)


Так был же целый пакет muMATH-80, с версиями под CP/M, TRS-DOS и APPLE. Вот инструкция http://oldcomputers.dyndns.org/public/pub/manuals/muMATH_for_TRS-80.pdf
Там на 7 странице 2 возводится в 1023 степень и все знаки выводятся.
Это математический пакет, а не универсальный язык программирования как рапира. Таким только математики пользуются.



Питон все же стоит от Рапиры очень далеко. Есть пара похожих мест, но и все на этом.
Да и Рапира, по словам ее создателей, построена: "на базе адаптированного к условиями обучения школьников объединения полезных возможностей Сетла (https://en.wikipedia.org/wiki/SETL) и Поплана (https://en.wikipedia.org/wiki/POP-2)".
Естественно, раз рапира появилась намного раньше питона, то она не могла быть его адаптацией. :) Но много чего в базовой системе типов и операторах похожего.



А причем тут древность бейсика, собственно? Да, будет медленно, но принципиально ничего не мешает так сделать.
Как вы себе представляете такое на бейсике, например, Агата? Пишу уже в третий раз люди не могли даже чисел типа 33000 нормально набрать. То, что Вы пишите, - это полная абстракция. Как Вы представляете определение двух длинных переменных и их последующее сложение средствами древнего бейсика? Можно, конечно, было сделать особый вариант бейсика с поддержкой длинных чисел как в рапире, но тема о том, что реально это было сделано только в рапире и лиспе.


Насчет продажи Жигулей - на мой взгляд, это не была в привычном смысле торговля. СССР продавал эти машины за рубеж очень дешево, значительно дешевле, чем своим гражданам. С большой вероятностью себе в убыток. Но это позволяло получать твердую валюту.
Не удивлюсь, если узнаю, что некоторые агатовцы к этому и стремились. Клоны Аппл Лазеры пошли в середине 80-х совсем неплохо.


Серия 43xx - это small mainframe, эдакий Celeron среди мейнфреймов. Он между мини и супермини-компьютерами типа VAX. Единичка говорит, что это вариант минимальной производительности, установка дополнительных опций могла поднять производительность раз в пять.
Маленький такой мейнфреймик только с ценой от $100,000... А где Единичка про мейнфреймы пишет?


Но главное, а как с системами хранения данных и надежностью? На мейнфрейме хранились и обрабатывались сотни мегабайт. Что мог Агат в 1984 году тут противопоставить? 140 килобайтный дисковод? Я помню, как у нас в школе это работало: вставил дискету от своего компьютера в соседний, записал что-нибудь, и все, на своем компьютере дискета уже не читается.
Дисководики в СССР были дрянные до конца 80-х. Но на отечественных мейнфреймах ленты и диски тоже нередко ломались. 140 КБ на предприятие с несколькими сотнями человек хватит. Большой компьютер мог больше, но на то он и большой и очень дорогой. :)

Lethargeek
27.06.2021, 16:50
Выяснили, что для 6502 длиные целые были только у рапиры.
выяснили, что были как минимум в muMATH для 6502 - который написан был на muSIMP, который расширение muLISP :p
так что не спасут на ходу изобретаемые соломинки что-де "математический пакет не считается в сравнении с языком"


Visicalc и Multiplan превращали 8-битки в довольно мощные инструменты, а аккуратно деньги считать, чем и славятся мейнфреймы, и им тоже не мешает. Разница только в масштабах, на 8-битке можно работать с бухгалтерией только небольшого предприятия, до человек 100, хотя можно и до 1000 в некоторых случаях.
чтобы аккуратно деньги считать, точность 300 десятичных цифр не нужна, и даже 127 не нужна


Очень даже принципиальные ограничения. Десятичные целые и десятичные вещественные - это совсем разные типы.
это совсем одинаковое внутреннее представление в BCD и почти одинаковые функции арифметических операций
разница лишь в том, сколько знаков добавлять/отбрасывать при умножении и делении и надо ли печатать точку для человека


Вы бы посмотрели как классно рапира работает со строками - также как и питон или рубин намного позже и только для гораздо более тяжелых архитектур. А операторы рапиры - тоже всё супер. А вложекнные списки (кортежи), тип подпрограмм и даже множества - может Гвидо всё это из рапиры и вытащил.
:v2_dizzy_facepalm: "нигде кроме как в Моссельпроме" (c)
он всё это вытащил из сетла... как и рапира :v2_dizzy_biggrin2:


Знай Гвидо про рапиру, возможно удавился бы от зависти.

https://www.youtube.com/watch?v=X7Qmt5dnh_A

GARNIZON
27.06.2021, 20:44
А вообще откуда информация что Агат хотели хоть куда-то экспортировать? Это же все фикция, как и проспект на английском, устроенная Иоффе. Или это из статьи Лео? Так вы не забывайте, что он доступ то к Агату до серийному получил только благодаря тому что Федоров хотел ему продемонстрировать что софт по кератомии должен быть цветным а не ч\б как это утверждал Лео.
А вот уже после того как его с позором (как хирурга тырящего чужие идеи у коллег в ссср и последующими попытками преподнести как своё на родине) попросили, с скандалом! И он, расчувствовавшийся и озлобившись сказал на прощание Кривцову и Чугунову что имеет заказ на негативные статьи (не важно какое будет действительное положение вещей) в различных журналах по хирургии глаза и негативную статью про инструментарий в байте, в том числе и про агат.

Да и вообще сложно с американской колокольни размышлять о таких вещах с незнанием системы и непониманием советской действительности.
Собственно именно поэтому он несет дурь о продажах, какие продажи? Это была линия такая по оснащению кабинетов ЭВМ.
Не стоит забывать что Лео со злости не только многое соврал но и выкручивал факты так, как ему надо:

Например Лео жалуется на вес Агата и монитора... но тут же сравнивает Агат с Apple, тогда не худо бы упомянуть что вес у них схожий. Но в статье об этом ни слова, и это очень удобно.... Ведь удобней сравнивать Агат с портативными моделями, к которым он не относится :)
Что касается монитора, то он у Агата цветной, и весит меньше чем монохромный у Apple, или ЛЕО его не видел никогда? Видел, но промолчать об этом тоже очень удобно.....

Кстати, фраза "bad copy of the Apple" и веселый рисунок ему не принадлежат. Эти "пришлепки" добавила от себя редакция журнала, абсолютно в духе того времени. И надо признать это сработало. Судите сами, куча людей, попались на эту простую уловку и слепо повторяют название, даже не подозревая что на самом деле написано в статье!

Вообще, читая штатовские форумы я пришел к выводу что американцы предпочитают рассматривать агат именно с точки зрения клона, потому что это очень удобно.
Ведь если рассматривать агат как самостоятельную машину с однотипным процессором, то сравнения характеристик и возможностей будут не в пользу американского родственника.
Напротив, если всё архитектурные отличия Агата (которые и придают ему такое изящество и делают более развитой машиной), признать за отклонения от стандарта Apple, то можно бесконечно упиваться, как неточно в СССР скопировали эту ЭВМ


как уже было указано, то Агат не удачный клон

Слышал много раз от таком агате (тот который клон эпла), но пока не встречал, если есть такой в природе - продайте я его изучу и на сайте ему отдельный раздел посвящу. Что же касается моделей от НИИВК то вот по полочкам:
http://agatcomp.ru/agat/Common/fable/fable_sub1.shtml

litwr
28.06.2021, 00:00
выяснили, что были как минимум в muMATH для 6502 - который написан был на muSIMP, который расширение muLISP :p
так что не спасут на ходу изобретаемые соломинки что-де "математический пакет не считается в сравнении с языком"
Если даже Вы скажете: "Люди! Используйте математический софт (Reduce, Maple, Wolfram Mathematica, Maxima, ...) для своих бухгалтерий". То самые вежливые скажут, что Вы большой оригинал.



чтобы аккуратно деньги считать, точность 300 десятичных цифр не нужна, и даже 127 не нужна
Запас не помешает.



это совсем одинаковое внутреннее представление в BCD и почти одинаковые функции арифметических операций
разница лишь в том, сколько знаков добавлять/отбрасывать при умножении и делении и надо ли печатать точку для человека
У десятичных вещественных есть порядок как отдельная сущность. Поэтому операции ну совсем разные.



Это же все фикция, как и проспект на английском, устроенная Иоффе. А этот проспект сохранился?

Lethargeek
28.06.2021, 09:21
Если даже Вы скажете: "Люди! Используйте математический софт (Reduce, Maple, Wolfram Mathematica, Maxima, ...) для своих бухгалтерий". То самые вежливые скажут, что Вы большой оригинал.
Повторю специально для недогнавших: этот софт сам написан был на диалекте универсального языка.
Да и рапира к бухгалтерии как относится? Вообще какая разница, какой софт, когда изначально было заявлено:

Выяснили, что для 6502 длиные целые были только у рапиры.
что НЕПРАВДА :v2_dizzy_stop: и притом НЕ "только у рапиры", но еще и задолго ДО рапиры
и неправдой остаётся даже с на ходу придуманным дополнительным условием "в языках"


Запас не помешает.
и не пригодится (да и ресурсы всё-таки занимает, то есть в чём-то может и помешать)


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

litwr
29.06.2021, 20:10
Повторю специально для недогнавших: этот софт сам написан был на диалекте универсального языка.
Да и рапира к бухгалтерии как относится?
Это не совсем так, там софт на лиспе, но лисп встроен в систему, отделить его практически невозможно. Относительно хорошо знаю математическую систему Reduce - там тоже всё на лиспе, но на особом. Современный Reduce использует относительно стандартный лисп, но ещё в 90-х там было что-то своё. Теоретически эти лиспы, где-то должны быть и по отдельности, но насколько они доведены до работы сами по себе - это сложный вопрос. Написано, что muMath написана на muLisp, но на вики-страничке про muLisp есть информация только про 16-битные системы. Как и писал, сам использовал muLisp под MS-DOS. Поэтомy, резюмируя, можно заключить, что с практической точки зрения по состоянию на 1985 рапира была единственным универсальным языком для 6502, где были длинные целые числа. И в чем проблема писать бухгалтерский софт на бейсике, рапире, си, си++, яве, паскале, питоне, коболе и т.п.? Пишут и нормально и даже на асме. Про Microsoft офис, Бухгалтерию 1С и мейнфреймы слышали? :) На лиспе тоже можно, но это cущественно менее типично. А главное нужно, чтобы лисп был в наличие.

EDIT. Давал ссылку про то, что первый лисп запустили на Апл только в 2013.


у десятичных с фиксированной точкой (а именно такие для финансовых расчётов и применялись) нет порядка как отдельной сущности, потому практически одинаковые
На мейнфреймах, как уже много раз писал, с 2000-х есть аппаратная поддержка вещественных десятичных, которые именно для финансов и используются - всё-таки не надо возиться с фиксированной точкой. :) И в некоторых 8-битках именно поддержка 10-х вещественных зашита в ПЗУ - об этом и писал тоже.



он всё это вытащил из сетла... как и рапира
В ceтле были только общие идеи, но конкретный синтаксис питона повторяет именно рапиру, а не сетл. Поэтому возможно, получил Гвидо рапиру и переребрендил в питон. :)


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

Американцам тут трудно разобраться, учитывая, что с 70-х в СССР всё только копировалось. И во всех руководствах на Агат первым упоминалось родственность с Аппл.
Мне представляется, что Агат как-раз был наиболее честным советиским компьютером, процессор преобретался за рубежом. Удивительно только, почему производство Агатов тормозилось и быстро сошло на нет к 1990, хотя в Штатах Апплы производили почти до середины 90-х.

klingon
29.06.2021, 20:24
Поэтому возможно, получил Гвидо рапиру и переребрендил в питон.

вам самим не смешно?

ABC — язык программирования, разрабатываемый в Центре математики и информатики в Нидерландах при участии Гвидо Ван Россума. При разработке Python Гвидо использовал свой опыт разработки ABC.

Ядро Python было спроектировано так, чтобы быть легко расширяемым, ABC придерживался противоположного подхода. Гвидо говорил: «ABC была очень монолитной конструкцией <…> расширить ABC было непросто <…> У ABC не было концепции стандартной библиотеки. У него были встроенные команды, но парсер знал о них. У него были встроенные функции, которые были очень сильно интегрированы в среду выполнения. Добавить к стандартной функциональности языка было очень сложно»[1].
Из ABC взята идея системы отступов для группировки операторов[28][29].
Из ABC взята идея высокоуровневых структур данных (map)[28][29]. (https://ru.wikipedia.org/wiki/История_языка_программиров ания_Python)

litwr
29.06.2021, 20:29
вам самим не смешно?
А что тут смешного? Проверьте синтаксис - в питоне текстовые операции почти всё как в рапире. Из СССР очень много чего вытащили. Про Itanium и Transmeta слышали?

klingon
29.06.2021, 20:32
А что тут смешного? Проверьте синтаксис - в питоне текстовые операции почти всё как в рапире. Из СССР очень много чего вытащили. Про Itanium и Transmeta слышали?

потрудитесь подтвердить ваши конспирологические предположения.
itanium, да? https://roscenzura.com/threads/3239/

Lethargeek
29.06.2021, 22:21
Это не совсем так, там софт на лиспе, но лисп встроен в систему, отделить его практически невозможно. Относительно хорошо знаю математическую систему Reduce - там тоже всё на лиспе, но на особом. Современный Reduce использует относительно стандартный лисп, но ещё в 90-х там было что-то своё. Теоретически эти лиспы, где-то должны быть и по отдельности, но насколько они доведены до работы сами по себе - это сложный вопрос.
не-не-не, снова в дело пошли выдумки на ходу? :v2_mad:

вот они практически по отдельности:
https://www.apple.asimov.net/documentation/advertisements/misc/Microsoft%20%28Apple%2C%20CP-M%2C%20MS-DOS%2C%20TRS-80%29%20Products%2C%201982.pdf
всё там видим, и muLISP отдельно, и возможность напрямую программировать на muSIMP
собственно, muSIMP в основном сводился к переделке синтаксиса muLISP -
https://www.sciencedirect.com/science/article/abs/pii/0360131586900667


Написано, что muMath написана на muLisp, но на вики-страничке про muLisp есть информация только про 16-битные системы.
ну конечно, а помимо вики-страничек ничего не существует, когда не хочется :v2_rolley


И в чем проблема писать бухгалтерский софт на бейсике, рапире, си, си++, яве, паскале, питоне, коболе и т.п.? Пишут и нормально и даже на асме. Про Microsoft офис, Бухгалтерию 1С и мейнфреймы слышали? На лиспе тоже можно, но это cущественно менее типично.
ой, да по сравнению даже с лиспами на рапире тогда ВООБЩЕ ВСЁ нетипично, ибо нифига на ней серьёзного не писали :v2_tong:


EDIT. Давал ссылку про то, что первый лисп запустили на Апл только в 2013.
а изучить ссылку, прежде чем давать её, не судьба? :v2_dizzy_facepalm: там же прямо в комментариях со ссылками говорится, что это не первый лисп


Поэтомy, резюмируя, можно заключить, что с практической точки зрения по состоянию на 1985 рапира была единственным универсальным языком для 6502, где были длинные целые числа.
Поэтому, резюмируя, можно ПОВТОРИТЬ, что длинные целые на 6502 были

НЕ "только у рапиры", но еще и задолго ДО рапиры

даже с на ходу придуманным дополнительным условием "в языках"
ЧИТД :v2_dizzy_roll:


На мейнфреймах, как уже много раз писал, с 2000-х есть аппаратная поддержка вещественных десятичных, которые именно для финансов и используются - всё-таки не надо возиться с фиксированной точкой.
иииии что? а на восьмибитках приходится возиться без аппаратной, в том числе с рапирой, да с чем угодно


И в некоторых 8-битках именно поддержка 10-х вещественных зашита в ПЗУ - об этом и писал тоже.
иииии что? код-то не меняется выполняемый


В ceтле были только общие идеи, но конкретный синтаксис питона повторяет именно рапиру, а не сетл. Поэтому возможно, получил Гвидо рапиру и переребрендил в питон
ой, всё :v2_dizzy_facepalm: заносчивая Вандербильдиха посрамлена! :v2_laugh:

klingon
30.06.2021, 15:45
The ABC Programmer's Handbook (https://homepages.cwi.nl/~steven/abc/programmers/introduction.html)


Numbers in traditional languages are usually limited in size and accuracy. If you want multi-length or extended precision, you must write a package yourself using the supplied facilities. In ABC, numbers in general are unbounded in length and accuracy.

вот отсюда точность в питоне позаимствована

- - - Добавлено - - -

SETL и алгол были скопипащены с СССР, и оказали влияние на инженерную мысль советских инженеров, отсюда возможно сходство идей.

Кря Кря
30.06.2021, 15:55
Запас не помешает.
Уже не помню точно, но вроде 15 или 16 знаков, хватает что бы сохранить стоимость всех активов на земле, ну добавить еще 4-5 знаков для для инфляции и сетки курсов валют.

Т.е. для фин. учета даже в далекой перспективе 30 знаков с головой + 2 знака копейки.

avivanov76
30.06.2021, 18:23
Маленький такой мейнфреймик только с ценой от $100,000...

Мейнфрейм - это карьерный самосвал. Агат - легковушка. Как их вообще можно всерьез сравнивать?
И $100,000 не дорого для мейнфрейма. В газетах (https://www.nytimes.com/1983/09/16/business/ibm-introduces-glendale-computer.html) даже удивлялись, что IBM так демпингует.


140 КБ на предприятие с несколькими сотнями человек хватит.

А, так не прав был Билл Гейтс, не 640 а 140 килобайт хватит всем :)

Давайте на пальцах прикинем. В Рапире целое число может занимать до 128 байт. То есть, на 140 Кб дискету влезет всего несколько тысяч чисел. Допустим, что предприятие - это магазин с несколькими тысячами позиций в продаже. И по каждой позиции надо хранить название, артикул, цену, объем складских запасов, информацию о поставщике. Одной дискеты вам точно не хватит. Отдельный вопрос, как Рапира с ней работать будет. На Агат-7 интерпретатору доступно около 30 Кб ОЗУ.
А уж какое удовольствие будет искать информацию в базе, раскиданной на несколько дискет. Вставил дискету, загрузил базу, поискал, не нашел, вставил другую дискету и так далее...

На Apple ][, кстати, были платы памяти до 3 Мегабайт. Вот как раз для таких целей - работы с таблицами и бухгалтерией.


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

Что тут представлять-то? Школьник, умеющий складывать в столбик, может написать такую программу, не говоря уже о разработчиках бухгалтерского софта.


10 PRINT "ЧИСЛО 1:": INPUT A$
20 PRINT "ЧИСЛО 2:": INPUT B$
30 LA = LEN(A$): LB = LEN(B$): MX = LA
40 IF LB > MX THEN MX = LB
50 CR = 0: C$ = ""
60 FOR I = 0 TO MX - 1
70 I1 = LA - I: I2 = LB - I: N1 = 0: N2 = 0
80 IF I1 > 0 THEN N1 = VAL(MID$(A$, I1, 1))
90 IF I2 > 0 THEN N2 = VAL(MID$(B$, I2, 1))
100 S = N1 + N2 + CR: CR = 0
110 IF S >= 10 THEN CR = 1: S = S - 10
120 C$ = STR$(S) + C$
130 NEXT I
140 IF CR > 0 THEN C$ = STR$(CR) + C$
150 PRINT "СУММА:",C$



Запас не помешает.

Excel обходится 15 значащими цифрами. Сопроцессор 8087 поддерживает 19 цифр в BCD числах. 1C использует (https://its.1c.ru/db/metod8dev/content/2665/hdoc) 38-значные числа с фиксированной точкой. Как же они все живут без запаса?

Поделитесь, наконец, сокровенным знанием, кому кроме математиков, занимающимся криптографией или теорией чисел, может реально понадобиться число в несколько сотен знаков? В каких реальных задачах нужен такой запас?


Проверьте синтаксис - в питоне текстовые операции почти всё как в рапире.

А Рапира позволяет вот так выделить слово "hello"?


s = "hello world"
print(s[:6])


Или напечатать десять звездочек вот так?


print("*" * 10)


Или реверсировать строку вот так?


s = "hello world"
print(s[::-1])


Про то, что синтаксис с двоеточием появился в SETL (https://www.sciencedirect.com/science/article/pii/0898122175900115) я вообще молчу.

Lethargeek
30.06.2021, 19:20
с ностальгией вспоминаю vladtru, тот хотя бы сравнивал компы в одной нише, а тут внезапный вихрь яростных атак слабенького восьмибитника на мэйнфреймы :v2_dizzy_facepalm:

shattered
30.06.2021, 23:44
да ладно, задорный же флейм. главное - не вникать :)

а проспект на английском -- это https://www.1000bit.it/ad/bro/agat/agat.asp

Lethargeek
01.07.2021, 06:34
главное - не вникать
видимо, на то и расчёт - что вникать и опровергать наброс никто не захочет
но здесь такое не проходит, тут не ютубчик

goodboy
01.07.2021, 10:56
я кстати вспомнил про применение`больших` чисел (на ZX) - это было в программах для астрономии

tnt23
01.07.2021, 14:14
я кстати вспомнил про применение`больших` чисел (на ZX) - это было в программах для астрономии

Elite!

Lethargeek
01.07.2021, 14:22
Elite!
что elite? в каком месте там бигнамы и для чего? там скорей должна быть пониженная точность для скорости

svofski
01.07.2021, 14:29
что elite?
Программа для астрономии же =)

Lethargeek
01.07.2021, 14:32
Программа для астрономии же =)
астрономии там меньше, чем остального

Кря Кря
02.07.2021, 01:01
для любого астрономического расстояния в метрах, хватит 40 символов

Hunta
02.07.2021, 12:08
CIS на PDP-11 :)
Да, не 8-битная машинка
Да, не произвольная длина (но 31 цифра в целых)
Зато аппаратная реализация и доступно даже ассемблеру :)

litwr
02.07.2021, 22:49
потрудитесь подтвердить ваши конспирологические предположения.
itanium, да? https://roscenzura.com/threads/3239/

Это Вы скорее разводите конспирологию. :) Бабаян - уважаемый человек, много сделавший для развития ИТ. Сам с ним встречался и ничего он по СССР не ностальгировал. Он - типичный прагматик. То что люди из его команды уехали работать на Itanium - факт. То что кто-то из уехавших не всё оформил патентами - это не удивительно. В 90-е времени и усилий на адаптацию в Штатах требовалось очень много, не до патентов было. То что Пентковского упомянули ещё в 90-е, означает поэтому, что он реально много сделал, возможно больше чем оба его упомянутые коллеги вмести. B мире хорошие специалисты следят за работами друг друга - это нормально.
Вообще материал по ссылке очень тенденциозный. Копирование мейнфреймов продавили политически, вопреки более разумным альтернативам - а в статье написано, что все специалисты были за мейнфреймы - чушь!


вот они практически по отдельности:
https://www.apple.asimov.net/documentation/advertisements/misc/Microsoft%20%28Apple%2C%20CP-M%2C%20MS-DOS%2C%20TRS-80%29%20Products%2C%201982.pdf
всё там видим, и muLISP отдельно, и возможность напрямую программировать на muSIMP
собственно, muSIMP в основном сводился к переделке синтаксиса muLISP -
https://www.sciencedirect.com/science/article/abs/pii/0360131586900667
Если внимательно изучить материал, то картинка совсем неоднозначная. Давайте прочитаем, о чем пишут на официальной странице muLisp - http://www.edm2.com/index.php/MuLISP - там про 6502 ничего нет, а значит, когда писали про Apple ][ возможно имели в виду Z80-карту, которой с большой выгодой тогда Microsoft приторговывал. Осмелюсь даже предположить, что выгод от продажи этих карт Microsoft получал гораздо больше, чем от muLisp. Не понял Вас про muSimp - это не muLisp, это специальный язык для математиков.



ой, да по сравнению даже с лиспами на рапире тогда ВООБЩЕ ВСЁ нетипично, ибо нифига на ней серьёзного не писали :v2_tong:
Это какое-то абстрактное сравнение. И на лиспе обычно такое просто не писали, а на рапире просто не сложилось.



а изучить ссылку, прежде чем давать её, не судьба? :v2_dizzy_facepalm: там же прямо в комментариях со ссылками говорится, что это не первый лисп
Там про muLisp ничего нет, только про какой-то PLisp, который почти наверняка длинных чисел обрабатывать не умеет.



Поэтому, резюмируя, можно ПОВТОРИТЬ, что длинные целые на 6502 были
Да, в рапире были - это доказано, а в других ЯП - не доказано.



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



ой, всё :v2_dizzy_facepalm: заносчивая Вандербильдиха посрамлена! :v2_laugh:
И реально! :) Если ещё указать на Express Pascal для 8080, который соответствовал Turbo Pascal 4, то даже вдвойне.



вот отсюда точность в питоне позаимствована
ABC появился сильно позднее рапиры, возможно кто-то до Гвидо умело пустил рапиру в оборот.


Мейнфрейм - это карьерный самосвал. Агат - легковушка. Как их вообще можно всерьез сравнивать?
И $100,000 не дорого для мейнфрейма. В газетах (https://www.nytimes.com/1983/09/16/business/ibm-introduces-glendale-computer.html) даже удивлялись, что IBM так демпингует.
За эти деньги можно было купить штук 10 IBM PC AT в очень хорошей конфигурации. А по процессорной мощи 4361 лишь на 32-битных, десятичных и вещественных расчетах обгонял AT - не случайно IBM тормозили диски и сопер на AT, но другим производителям это было ни к чему и IBM с рынка PC вытеснили, а рынок мейнфреймов стал экзотической изолированной экосистемой. Были мейнфреймы и за $20000, которые могли быть тормознее Агата. :)
А Агат всего-то раз в 10 медленнее AT на целочисленных расчетах. Но диски, согласен с Вами, - слабое место. Однако были для Аплов и жесткие диски, как Вы сами отметили, расширители памяти, которые позволяли использовать нормальные средства бухгалтерии.


А, так не прав был Билл Гейтс, не 640 а 140 килобайт хватит всем :)
Интересно, но сейчас говорят, что Билл этого не говорил. Фраза была, но не смог найти её первоисточник. А лет за 10 до этого кто-то из DEC говорил примерно также про 64 KБ, это сейчас совсем не могу найти. :(


Давайте на пальцах прикинем. В Рапире целое число может занимать до 128 байт.
Ну, конечно, для большинства случаев хватит вещественных. А тем кому нужен уровень мейнфрейма, тот мог прикупить жесткий диск.



Что тут представлять-то? Школьник, умеющий складывать в столбик, может написать такую программу, не говоря уже о разработчиках бухгалтерского софта.


10 PRINT "ЧИСЛО 1:": INPUT A$
20 PRINT "ЧИСЛО 2:": INPUT B$
30 LA = LEN(A$): LB = LEN(B$): MX = LA
40 IF LB > MX THEN MX = LB
50 CR = 0: C$ = ""
...
130 NEXT I
140 IF CR > 0 THEN C$ = STR$(CR) + C$
150 PRINT "СУММА:",C$

Вы шутите? Писать столько кода для каждой операции?! Бухгалтеру нужно сложить числа столбиком, возможно, домножая на что-то. Как парсить выражение? Как передавать параметры? Будьте, пожалуйста, серьёзнее. И длина строки в древнем бейсике до 255 - у рапиры больше. :)



Поделитесь, наконец, сокровенным знанием, кому кроме математиков, занимающимся криптографией или теорией чисел, может реально понадобиться число в несколько сотен знаков? В каких реальных задачах нужен такой запас?
Разговор начался с мейнфреймов, а там запас есть. :)


А Рапира позволяет вот так выделить слово "hello"?


s = "hello world"
print(s[:6])


На рапире пишем ?s[1:6]; - конечно рапира не так отшлифована в мелочах. Она появилась заметно раньше и использовалась, по сравнению с питоном, на совсем маломощной технике. Но сам синтаксис с квадратными скобками и двоеточием был очень передовым. Странно, что вы с этим спорите. И длина строки у рапиры более компактно записывается.
Всё таки рапира достаточно широко применялась в образовании, а SETL - это был скорее какой-то теоретический язык. В википедии почему-то упоминают только его реализацию на БЭСМ-6. :)


да ладно, задорный же флейм. главное - не вникать :)
а проспект на английском -- это https://www.1000bit.it/ad/bro/agat/agat.asp
Ни слова про совместимость с Apple II, не ожидал.


CIS на PDP-11 :)
Да, не 8-битная машинка
Да, не произвольная длина (но 31 цифра в целых)
Зато аппаратная реализация и доступно даже ассемблеру :)
Вот даже DEC сошла с дистанции, отказавшись от поддержки CIS. IBM до сих пор удерживает очень специфический рынок аппаратных десятичных расчетов...

Hunta
02.07.2021, 23:06
Вот даже DEC сошла с дистанции, отказавшись от поддержки CIS
Хрень. Планировалось на J11, было на PDP-11/74, а потом всё было прикрыто из за VAX-11, на которых (внезапно) CIS был.

klingon
02.07.2021, 23:32
litwr
Да, я помню: Россия - родина слонов
Как я писал,
SETL и алгол были скопипащены с СССР
они повлияли на инженерную мысль советских программистов. Потому хотя рапира и самобытный проект, на его безусловно влияли западные разработки (в СССР все программное обеспечение западу успешно комуниздили).
Обратное влияние - не доказано. Не приведено ни попыток адаптации рапиры на западе, никак влияние ее не доказано ни на питон ни на ABC.

Потому - это просто пустозвонство.

Сходство рапиры с Алголом, SETLом и чем бы то еще можно было бы объяснить влиянием последних на рапиру, так же как они повлияли на ABC и прочие языки. Это параллельные ветви, если бы вы хотели поискать, то нашли бы синтаксис рапиры в предшественниках, но у вас своя религия, оставайтесь в покое.

Lethargeek
03.07.2021, 08:40
Если внимательно изучить материал, то картинка совсем неоднозначная. Давайте прочитаем, о чем пишут на официальной странице muLisp - http://www.edm2.com/index.php/MuLISP
а ну стоп :v2_dizzy_stop: "если внимательно изучить материал, то картинка" вполне однозначная
это никакая НЕ "официальная страница мулиспа", а статья на вики, посвящённой OS/2 (!)
а вот я давал ссылку на скан именно ОФИЦИАЛЬНОГО каталога


Там про 6502 ничего нет, а значит, когда писали про Apple ][ возможно имели в виду Z80-карту, которой с большой выгодой тогда Microsoft приторговывал. Осмелюсь даже предположить, что выгод от продажи этих карт Microsoft получал гораздо больше, чем от muLisp.
это про z80-карту для мулиспа ничего там нет, зато есть зелёные полоски, маркирующие наличие версия И для эпла, И для цпм

ну, и чтобы уж никаких сомнений не осталось, вот еще ссылка: http://oldcomputers.dyndns.org/public/pub/manuals/newsletter_mar82.pdf
где аглицким по белому прямым текстом говорится о НАТИВНОЙ яблочной версии, НЕ требующей мелкософтовского софткарда


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

итого (см. ссылку выше)

Да, в рапире были - это доказано, а в других ЯП - не доказано.
1) в других яп для 6502 было - ДОКАЗАНО
2) + было ДО рапиры - ДОКАЗАНО

ВОПРОС ЗАКРЫТ :v2_dizzy_bye:

- - - Добавлено - - -


Там про muLisp ничего нет, только про какой-то PLisp, который почти наверняка длинных чисел обрабатывать не умеет.
ну и что? в данном случае это было совершенно неважно
это лисп, а значит, опровергнуто невежественное заявление -

Кстати, на 6502 лисп сделали только в 2013 -
так как по его смыслу для опровержения хватало любого лиспа

- - - Добавлено - - -


Вы писали, что это так легко добавить разрядов, а это не легко.
почему? поконкретнее, чем n+1 разряд "нелегче" n разрядов и для какого n происходит качественный скачок?


ABC появился сильно позднее рапиры, возможно кто-то до Гвидо умело пустил рапиру в оборот
...иииии этот "кто-то" был не кто иной, как любимец публики и внештатный сотрудник КГБ Барабашка! :v2_laugh:
мы пока что пруфов не увидели никаких, что причастные тогда о рапире хотя бы слышали
так что все эти "возможно" того же уровня, что истории о полтергейстах и нло

litwr
03.07.2021, 23:11
Хрень. Планировалось на J11, было на PDP-11/74, а потом всё было прикрыто из за VAX-11, на которых (внезапно) CIS был.
Цитирую википедию: "The MicroVAX and later VAX implementations dropped this ability from the CPU". В x86-64 также нет десятичной арифметики...

litwr
они повлияли на инженерную мысль советских программистов. Потому хотя рапира и самобытный проект, на его безусловно влияли западные разработки (в СССР все программное обеспечение западу успешно комуниздили).
Обратное влияние - не доказано. Не приведено ни попыток адаптации рапиры на западе, никак влияние ее не доказано ни на питон ни на ABC.

Потому - это просто пустозвонство.

Сходство рапиры с Алголом, SETLом и чем бы то еще можно было бы объяснить влиянием последних на рапиру, так же как они повлияли на ABC и прочие языки. Это параллельные ветви, если бы вы хотели поискать, то нашли бы синтаксис рапиры в предшественниках, но у вас своя религия, оставайтесь в покое.
Странные Bы вещи пишите. Академик Андрей Ершов был фигурой мирового значения. Дружбой с ним гордились лучшие мировые специалисты по ИТ. Хрестоматийна история, что американские студенты учили русский, чтобы только читать его работы до их перевода. Работа над рапирой курировалось Ершовым, Геннадий Звенигородский был его учеником. Рапира - объективно был очень передовым языком для своего времени. Конечно, что-то было наверняка взято из зарубежных разработок, но и зарубежные разработктчики везде высматривали что есть поинтереснее. Понятно, что к 80-м в СССР из тупого клонирования заметно отстали от США по железу, но никто не поставит под сомнение, что СССР был на второй позиции, в целом несколько впереди Великобритании. Но ещё в 60-е американцы преобретали перспективные компьютеры в СССР, которым потом не давали тут развиваться. По ПО отставания заметного не было вплоть до 90-х. Что-то клонировали, что-то создавали своё. Опять же христоматийно, что среду DOS/360 в СССР сделали существенно дружелюбнее к пользователям, чем оригинальная среда IBM.
Конечно, клонирование поставило СССР в положение изгоя. Поэтому отечественные разработки носили для зарубежных компаний странный характер. Но хороший специалист - он везде хороший специалист. Знаю, например, нашего программиста, который сделал в начале 90-х лучшие в своем роде генераторы компиляторов - они есть в некоторых дистрибутивах Linux, но пока используются больше как иллюстрации к учебным материалам в лучших зарубежных университетах.
Что Вас так смущает в том, что специалисты по ЯП могли ознакомиться с рапирой до того как они стали делать ABC и питон? Проза жизни для хорошего спеца - быть в курсе передовых технологий, а рапира такой была безусловно.


ну, и чтобы уж никаких сомнений не осталось, вот еще ссылка: http://oldcomputers.dyndns.org/public/pub/manuals/newsletter_mar82.pdf
где аглицким по белому прямым текстом говорится о НАТИВНОЙ яблочной версии, НЕ требующей мелкософтовского софткарда
Серьёзный аргумент! Но это на бумаге, а Вы забыли, что бывают и овраги. :) А в овраге всёго софта, который был для Аплов - https://www.apple.asimov.net/ - mulisp отсутствует! Возможно сделали аннаунсмент, но потом обстоятельства изменились и заявленный софт так и не зарелисили.


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


ну и что? в данном случае это было совершенно неважно
Это мимо, так как нам нужен лисп не любой, а с длинной арифметикой, которой в plisp нет - сам проверил в эмуляторе - нету. Запустил в эмуляторе muMath - оно работает, но muLisp там отсутствует. Вот так - если Вам нужны длинные числа, извольте использовать рапиру, альтернатив нет.



почему? поконкретнее, чем n+1 разряд "нелегче" n разрядов и для какого n происходит качественный скачок?
Тем, что n разрядов есть и это было непросто сделать, а за n+1 никто не взялся, так как делать сложно, а внедрить почти невозможно.

Hunta
04.07.2021, 00:14
The MicroVAX and later VAX implementations dropped
много чего, особенно в младших моделях - которые не позиционировались, как числодробилки. Так что аргумент - мимо. А на то, что реализовали или не реализовали в x86-x64 мне вообще наплевать - ***** оно и есть *****

- - - Добавлено - - -


Вы писали, что это так легко добавить разрядов, а это не легко.
Зависит от того, как реализовывать. Если чисто программно - то легко. Очень давно, году так в 85-ом написал на Фортране подпрограммы для четырёх основных операций над целыми числами произвольной длины. Длина могла быть любой, пока хватало памяти. Первоначально было под RT, потом перенёс на RSX и под F77 - с его виртуальными массивами это позволило сильно увеличить максимальную длину. Два основных недостатка - было медленно и никому особо не нужно.

Lethargeek
04.07.2021, 13:00
Серьёзный аргумент! Но это на бумаге,
"но" сканы бумаг как доказательство - надёжнее всяких сайтиков


что бывают и овраги. А в овраге всёго софта, который был для Аплов - https://www.apple.asimov.net/
кто сказал ВСЕГО? жду нотариального подтверждения, что ВЕСЬ существоваший софт для эплов хотя бы найден, а не то что на конкретном сайтике размещён


mulisp отсутствует!
может, и отсутствует, а может, не по адресу затерялся; зато там присутствует пакет muMATH+muSIMP
причём даже с уроками программирования в мусимпе (видно, просто поиск текста выполнив внутри образа)
образы в формате proDOS, внутри видим текстовую строку ADIOS - то есть это явно не CP/M и не z80 softcard


Возможно сделали аннаунсмент, но потом обстоятельства изменились и заявленный софт так и не зарелисили.
мимо, "аннаунсмент" это когда "мы выпустим", а там в тексте "now available"


Именно так, это другой синтаксис совсем, а синтаксис определяет ЯП. Поэтому заключаем, что muSimp - это не muLisp, а совсем другое явление.
...поэтому заключаем, что си - это не си, потому что у него препроцессор, которым можно исковеркать синтаксис :v2_wacko: да?


Это мимо, так как нам нужен лисп не любой, а с длинной арифметикой, которой в plisp нет
ПОВТОРЯЮ, опровергнуто конкретное заявление:

Кстати, на 6502 лисп сделали только в 2013
где ни слова нет про длинную арифметику

сосб-но, опровержение в данном случае послужило больше иллюстрацией неумения работать с собственными источниками


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

а вообще, мне это всё уже надоело - "ваши доказательства не доказательства", зато у самого сплошь "возможно" то и "возможно" сё
так вот, судя по снимку из заглавного поста, одно время длинная арифметика рапиры работала с ошибками (то есть НЕ работала)
но, поскольку на рапире ничего серьёзного не писали, то заметить данную ошибку вероятней было позже, чем раньше
и возможно, баг исправле был уже в нашу эмуляторную эпоху (и возможно, не везде и не окончательно)

вот так, и теперь я жду 100% убедительных доказательств, что в исторической рапире вообще была правильная длинная арифметика :v2_dizzy_biggrin2:


Тем, что n разрядов есть и это было непросто сделать, а за n+1 никто не взялся, так как делать сложно, а внедрить почти невозможно.
словоблудие, что значит "за n+1 никто не взялся"? пруфы есть, что у разных авторов n одно и то же в разном софте?
и что такого сложного в изучаемых в начальной школе алгоритмах арифметики столбиком и почему их невозможно было "внедрить" в программы?

avivanov76
04.07.2021, 15:58
Да, в рапире были - это доказано, а в других ЯП - не доказано.

Любой может скачать здесь (https://mirrors.apple2.org.za/ftp.apple.asimov.net/images/educational/MUMATH1.po) образ диска, запустить его в эмуляторе Apple ][ и убедиться собственноручно, что длинные на 6502 были. Вот вам скриншоты работающего muMATH-80. Z80 Card ему не нужен. И, кстати, целые он использует длиной до 254 байт, так что точность достигает 600 знаков. Минимум за два года до Рапиры.
75763 75765


Ну, конечно, для большинства случаев хватит вещественных. А тем кому нужен уровень мейнфрейма, тот мог прикупить жесткий диск.

Похоже, вы не знаете, как Рапира устроена. У нее ОС, интерпретатор и редактор собраны в единый монолит. Под другой ОС Рапиру запустить нельзя. А ОС у Рапиры основана на Apple DOS 3.3, которая ничего не знала про жесткие диски. Поэтому ни версия Рапиры для Агата, ни версия для Apple использовать жесткие диски не могли. Поддержка жестких дисков у Apple появилась в ProDOS, а Рапиру под нее не переносили.


Вы шутите? Писать столько кода для каждой операции?! Бухгалтеру нужно сложить числа столбиком, возможно, домножая на что-то. Как парсить выражение? Как передавать параметры? Будьте, пожалуйста, серьёзнее. И длина строки в древнем бейсике до 255 - у рапиры больше.

Что, вас жалкие 15 строчек напугали? Вы не программист, я смотрю. Почитайте Github что-ли. В реальных программах строк гораздо больше и на их фоне эти 15 просто потеряются.

Про парсинг выражений поподробнее. Вы собрались тетенькам из бухгалтерии голую Рапиру подсунуть? Чтобы они формулы в ней писали? Серьезно? Ну, успехов вам :) Будете ходить в бухгалтерию как на работу и все за них считать :)

Насчет 255 символов. Во-первых, мы так и не увидели доказательств того, что в бухгалтерии они нужны. Бюджет СССР за 1984 год (https://minfin.gov.ru/ru/document/?id_4=131980-gosudarstvennyi_byudzhet_sssr_i_byudzhety_soyuznyk h_respublik_1981-1985_gg._statisticheskii_sbornik.) - 102722200000 рублей. Если считать с копейками, то 14 цифр. До 255 о-о-очень далеко. А во-вторых, 255 здесь не предел. Программист бы это увидел.


Разговор начался с мейнфреймов, а там запас есть.

А точно он там есть-то? Я тут курил мануал по ESA/390 (https://publibfp.dhe.ibm.com/epubs/pdf/dz9ar008.pdf) и что-то он не очень бьется с вашими утверждениями. Там описаны два десятичных формата: зонный и упакованный.

Зонный формат допускает длину до 256 байт, вот только вычисления в этом формате не проводятся. С ним работают только инструкции редактирования, копирования и упаковки. Редактирование - это такой аналог команды PRINT, который позволяет отформатировать число по заданному шаблону. Копирование понятно что делает, а инструкция упаковки позволяет число из зонного формата сконвертировать в упакованный. С ограничением длины в 16 байт.

А вычисления производятся только над числами в упакованном формате. Упакованный формат имеет максимальную длину 16 байт и содержит 31 цифру и знак. Никаких 127 знаков.


За эти деньги можно было купить штук 10 IBM PC AT в очень хорошей конфигурации.

Так, а кто перепишет софт для мейнфрейма и распараллелит его на 10 персоналок? Думаю, это обойдется дороже, чем сами персоналки.


Были мейнфреймы и за $20000, которые могли быть тормознее Агата.

Если сравнивать с каким-нибудь UNIVAC 1951 года выпуска, наверно так и получится. Только это не будет корректное сравнение. Машины должны быть примерно одного года и одинаково доступны коммерчески. А то так можно еще и с каким-нибудь спецвычислителем, сделанным из золота в одном экземпляре сравнить.


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

SETL - это язык, созданный с очень практической целью: повысить производительность программиста и улучшить читаемость программы.

А вот разделение языков, введенное Ершовым, мне кажется чисто теоретическим. Он предлагал, чтобы школьники сначала учили "алгоритмический язык", а потом переходили к "учебно-производственным" языкам типа Рапиры. А потом бац - закончили учиться, пришли на работу, а там Фортран или C. И вместо того, чтобы вникать в суть дела, вчерашний школьник вынужден изучать еще один синтаксис.


На рапире пишем ?s[1:6]; - конечно рапира не так отшлифована в мелочах. Она появилась заметно раньше и использовалась, по сравнению с питоном, на совсем маломощной технике. Но сам синтаксис с квадратными скобками и двоеточием был очень передовым. Странно, что вы с этим спорите.

Напомню, что спор ведется с утверждением, что "возможно, получил Гвидо рапиру и переребрендил в питон.". То есть, тупо этикетки переклеил.

Спрашивается, как после переклейки этикеток получилось, что синтаксис языков отличается, что Питон - объектно-ориентированный язык, а Рапира - процедурный, что в Питоне есть обработка исключений, иерархические пространства имен, нормальный оператор присваивания, да даже индексы начинаются с 0, а не с 1?

Это как обвинить человека в угоне "Жигулей", и доказывать это тем, что он ездит на "BMW". Типа, руль и колеса такие же, а остальное он "отшлифовал".

GARNIZON
04.07.2021, 21:29
Ни слова про совместимость с Apple II, не ожидал.

А еще ни слова про совместимость с IBM PC.

А сканы эти буржуи укали у меня на сайте, вот хоть бы словом обмолвились где взяли.

litwr
04.07.2021, 22:11
много чего, особенно в младших моделях - которые не позиционировались, как числодробилки. Так что аргумент - мимо. А на то, что реализовали или не реализовали в x86-x64 мне вообще наплевать - ***** оно и есть *****
Вы пытались оспорить, что аппаратная десятичная арифметика осталась только на мейнфреймах... И речь не о младших моделях, а более поздних. Промах у Вас.


Зависит от того, как реализовывать. Если чисто программно - то легко. Очень давно, году так в 85-ом написал на Фортране подпрограммы для четырёх основных операций над целыми числами произвольной длины. Длина могла быть любой, пока хватало памяти. Первоначально было под RT, потом перенёс на RSX и под F77 - с его виртуальными массивами это позволило сильно увеличить максимальную длину. Два основных недостатка - было медленно и никому особо не нужно.
На фортране можно это представить - там есть нормальные функции. Но для бухгалтерии это не подойдет, бухгалтеру придётся вместо a+b*c писать что-то типа longplus(a, longmul(b,c)) - нехорошо ему станет от этого. А представьте более длинное выражение с любимимы всеми банкирами сложными процентами - совсем будет нехорошо. :) А некоторые тупят что-то ещё и про древний бейсик. :( Вот на си++ или рубине (и некоторых других языках) реализовать и использовать длинные числа - это вполне нормально - у меня многие студенты это делали в рамках курсовых работ.


может, и отсутствует, а может, не по адресу затерялся; зато там присутствует пакет muMATH+muSIMP
причём даже с уроками программирования в мусимпе (видно, просто поиск текста выполнив внутри образа)
образы в формате proDOS, внутри видим текстовую строку ADIOS - то есть это явно не CP/M и не z80 softcard
Это есть, avivanov76 это запускал - и при чем тут z80? Но мюлисп там есть действительно только для Z80 - ваш очередной промах.


мимо, "аннаунсмент" это когда "мы выпустим", а там в тексте "now available"Так бывает. Вроде почти выпустили, но что-то сорвалось.



...поэтому заключаем, что си - это не си, потому что у него препроцессор, которым можно исковеркать синтаксис :v2_wacko: да?
Посмотрите на снимок экрана ниже, который выложил avivanov76 - это никакой не лисп, а специализированный язык для математиков.


ПОВТОРЯЮ, опровергнуто конкретное заявление:
Какое конкретное утверждение, когда нас интересовали только длинные числа? Вы знакомы с тем, что называют контекст?



так вот, судя по снимку из заглавного поста, одно время длинная арифметика рапиры работала с ошибками (то есть НЕ работала)
...
возможно, баг исправле был уже в нашу эмуляторную эпоху (и возможно, не везде и не окончательно)
вот так, и теперь я жду 100% убедительных доказательств, что в исторической рапире вообще была правильная длинная арифметика :v2_dizzy_biggrin2:
Сомнительно, что ошибку исправили недавно - кто бы стал это делать?! Но чтобы разобраться с этим загадочным снимком экрана, нужны образы дисков с разными версиями рапиры. К сожалению, не смог найти архива агатовского софта. :( Может с этим кто поможет? Странно, что тут нет темы со ссылками на ресурсы по Агату. :)



словоблудие, что значит "за n+1 никто не взялся"? пруфы есть, что у разных авторов n одно и то же в разном софте?
и что такого сложного в изучаемых в начальной школе алгоритмах арифметики столбиком и почему их невозможно было "внедрить" в программы?
Была практическая тема, что форматы вещeственных BCD для 8-биток жестко фиксированы. Вы с этим спорите. Но это факт. Конечно, можно переписать MSX-бейсик, например, но как это было внедрять при наличие стандартного варианта в ПЗУ? Или представьте, что вам на Спеке нужно под бейсиком использовать вещественные числа формата 8087 - это практически невозможно. Максимум, что можно сделать это при вводе данных сразу конвертировать числа в стандартный формат, а при выводе делать наоборот, но это приведет к потере точности и сделает всё это бессмысленным.


Любой может скачать здесь (https://mirrors.apple2.org.za/ftp.apple.asimov.net/images/educational/MUMATH1.po) образ диска, запустить его в эмуляторе Apple ][ и убедиться собственноручно, что длинные на 6502 были. Вот вам скриншоты работающего muMATH-80. Z80 Card ему не нужен. И, кстати, целые он использует длиной до 254 байт, так что точность достигает 600 знаков.
Никто с этим не спорил - Вы похоже не следите за темой. Спорим мы, был ли универсальный язык, который поддерживал длинный числа на платформе 6502, кроме рапиры? MuMath-80 - это математический пакет, а не универсальный язык.



Похоже, вы не знаете, как Рапира устроена. У нее ОС, интерпретатор и редактор собраны в единый монолит. Под другой ОС Рапиру запустить нельзя. А ОС у Рапиры основана на Apple DOS 3.3, которая ничего не знала про жесткие диски. Поэтому ни версия Рапиры для Агата, ни версия для Apple использовать жесткие диски не могли. Поддержка жестких дисков у Apple появилась в ProDOS, а Рапиру под нее не переносили.
Это достаточно типично для софта Апл. Mumath-80 - это такой же монолит, у которого к тому же дискеты нестандартные - их, например, MAME не грузит. Перенос рапиры на ProDOS не должен был бы быть слишком сложным, но это, конечно, пустые разговоры. Без Звенигородского рапира зачахла. :( А интегрированный редактор в рапире - просто супер, на такой фишке Турбо-паскаль и прочие Турбы от Борланд очень хорошо пошли.



Что, вас жалкие 15 строчек напугали? Вы не программист, я смотрю. Почитайте Github что-ли. В реальных программах строк гораздо больше и на их фоне эти 15 просто потеряются.

Про парсинг выражений поподробнее. Вы собрались тетенькам из бухгалтерии голую Рапиру подсунуть? Чтобы они формулы в ней писали? Серьезно? Ну, успехов вам :) Будете ходить в бухгалтерию как на работу и все за них считать :)
Выше уже написал для Hunta соответствующий комментарий. Добавлю только, что древние бейсики очень тормозные. Например, как-то был озадачен, когда Коммодор 64 просто заполнял 120 длинных cтрок более 2 часов. Это из-за дрянного уборщика мусора, но и на более продвинутом Коммодоре +4 это занимает до 15 минут. А программы в бухгалтерии делал и внедрял...


Я тут курил мануал по ESA/390 (https://publibfp.dhe.ibm.com/epubs/pdf/dz9ar008.pdf) и что-то он не очень бьется с вашими утверждениями. Там описаны два десятичных формата: зонный и упакованный.

А вычисления производятся только над числами в упакованном формате. Упакованный формат имеет максимальную длину 16 байт и содержит 31 цифру и знак. Никаких 127 знаков.
Тут Вы абсолютно правы. Однако, мы в теме рапиры и Агата.



Так, а кто перепишет софт для мейнфрейма и распараллелит его на 10 персоналок? Думаю, это обойдется дороже, чем сами персоналки.
Речь о том, что 4361 только для некоторых видов расчетов мог быть до 3-х раз быстрее, чем IBM PC AT. А, например, обработка текстов или 16-битных данных на AT могла быть даже быстрее. Поэтому этот мейнфрейм соответствовал по мощи процессора только от 1 до 3 эйтишек. Конечно, у мейнфрейма диски были раз в 10 быстрее и некоторые другие преимущества, но были и недостатки, например, в популярных ОС не было даже поддержки каталогов, тексты нельзя нормально скроллировать, и т.п.



Если сравнивать с каким-нибудь UNIVAC 1951 года выпуска, наверно так и получится. Только это не будет корректное сравнение. Машины должны быть примерно одного года и одинаково доступны коммерчески. А то так можно еще и с каким-нибудь спецвычислителем, сделанным из золота в одном экземпляре сравнить.
Его вы за $20000 не купили бы тогда. :) А вот серия https://en.wikipedia.org/wiki/IBM_5100 ровесник Apple II, сопровождаемая IBM до середины 80-х, работала медленнее Агата. :)


SETL - это язык, созданный с очень практической целью: повысить производительность программиста и улучшить читаемость программы.
Цели - это хорошо, но со списком реализаций как-то совсем плохо - не пошёл SETL.


А вот разделение языков, введенное Ершовым, мне кажется чисто теоретическим. Он предлагал, чтобы школьники сначала учили "алгоритмический язык", а потом переходили к "учебно-производственным" языкам типа Рапиры. А потом бац - закончили учиться, пришли на работу, а там Фортран или C. И вместо того, чтобы вникать в суть дела, вчерашний школьник вынужден изучать еще один синтаксис.
Или яву с питоном. :) Но такова проза жизни. Профессиональный программист обычно обязан уметь работать как с минимум 10-м языков - ничего сверхестественного. Рапира был очень даже достойный язык с минималистическим синтаксисом - учить почти ничего и не надо было. :) да и у рапиры могла бы быть другая судьба, если бы за ней стояла крепкая команда.


Напомню, что спор ведется с утверждением, что "возможно, получил Гвидо рапиру и переребрендил в питон.". То есть, тупо этикетки переклеил.

Спрашивается, как после переклейки этикеток получилось, что синтаксис языков отличается, что Питон - объектно-ориентированный язык, а Рапира - процедурный, что в Питоне есть обработка исключений, иерархические пространства имен, нормальный оператор присваивания, да даже индексы начинаются с 0, а не с 1?

Есть в питоне элементы, похожие именно на рапиру. Не понял про присваивание, это в рапире он нормальный, соответсвующий естественной практике языков, с нотацией слева-направо. Так же присваивание записывается в коболе, некоторых популярных ассемблерах. Даже для х86 в GCC используют почти всегда такую нотацию. Обратная нотация реально более массова, но это не делает её более нормальной. Некоторые языки используют нотацию справа-налево - они что ненормальные? Рапира создавалась ещё до того как концепции ООП явно оформились. Первые популярные ООП языки появились только к концу 90-х. Поэтому неудивительно, что ООП в рапире нет. С другой строны в питоне ООП весьма специфично. Возможно это дело вкуса, но считаю, что в С++, Ruby или Java с этим существенно получше. Индексы - это тоже дело непринципиальное, где-то они с нуля, где-то с 1, а в паскале начальный индекс вообще может быть любым и что?


Это как обвинить человека в угоне "Жигулей", и доказывать это тем, что он ездит на "BMW". Типа, руль и колеса такие же, а остальное он "отшлифовал".
Причем тут "обвиняю". Человек возможно посмотрел на рапиру и это помогло ему сделать питон, что в этом плохого?

- - - Добавлено - - -


А еще ни слова про совместимость с IBM PC.

А сканы эти буржуи укали у меня на сайте, вот хоть бы словом обмолвились где взяли.

Выше уже написал запрос. Не смог у Вас найти рапиру, а желательно получить разные версии. Вот уважаемый Lethargeek вообще сомневается, что арифметика на рапире работала...

Lethargeek
04.07.2021, 23:42
Это есть, avivanov76 это запускал - и при чем тут z80?
при том, что это точно не для карты z80, чтобы не было потом таких разговоров


Но мюлисп там есть действительно только для Z80 - ваш очередной промах.
эй, алё, при чём тут вообще мулисп? когда в той моей цитате упомянут муСИМП


Так бывает. Вроде почти выпустили, но что-то сорвалось.
словоблудие


Посмотрите на снимок экрана ниже, который выложил avivanov76
я на первом сразу вижу файл MUSIMP.COM :D


- это никакой не лисп, а специализированный язык для математиков.
а, ну тогда рапира - специализированный язык для школьников, и что из этого?


Какое конкретное утверждение,
процитированное мною


когда нас интересовали только длинные числа?
кого "вас"?


Вы знакомы с тем, что называют контекст?
я, в отличие от некоторых, прекрасно понимаю, что такое контекст и прекрасно вижу, что заявление "Кстати, на 6502 лисп сделали только в 2013" говорит о ЛЮБОМ лиспе в ЛЮБОМ контексте


Сомнительно, что ошибку исправили недавно - кто бы стал это делать?!
сомнительно, что ошибку исправили давно - кто бы стал это делать?! полагаю, исправление внесено не ранее 2013 :p


Была практическая тема, что форматы вещeственных BCD для 8-биток жестко фиксированы.
хде? и чтоб именно "для 8-биток", а не "для бейсиков" (это не одно и то же, вдруг кто не в курсе))


Вы с этим спорите. Но это факт.
не вижу факта, вижу голословное утверждение


Конечно, можно переписать MSX-бейсик, например, но как это было внедрять при наличие стандартного варианта в ПЗУ? Или представьте, что вам на Спеке нужно под бейсиком использовать вещественные числа формата 8087 - это практически невозможно. Максимум, что можно сделать это при вводе данных сразу конвертировать числа в стандартный формат, а при выводе делать наоборот, но это приведет к потере точности и сделает всё это бессмысленным.
да насрать на бейсики, изначально разговор шёл о восьмибитках как таковых и ЛЮБЫХ применениях BCD-формата на восьмибитках

litwr
08.07.2021, 22:10
при том, что это точно не для карты z80, чтобы не было потом таких разговоров
Так писал Вам, что запускал, avivanov76 это похоже пропустил и позапускал ещё.


а, ну тогда рапира - специализированный язык для школьников, и что из этого?
Кстати, да, интересно получается. Питоном почти все школы запитонили. Повезло питону, покрепче оказалось у его "основного делателя" здоровье, чем у нашего главного рапириста.


да насрать на бейсики, изначально разговор шёл о восьмибитках как таковых и ЛЮБЫХ применениях BCD-формата на восьмибитках
Была у нас подтема о том, где вообще использовали BCD. Привел пример некоторых бейсиков, а Вы наверное поняли это как некое обобщение.


сомнительно, что ошибку исправили давно - кто бы стал это делать?!
Тут нужно хорошим знатокам Агата подключаться. Но у меня возникло впечатление, что возможно кто-то намеренно внес бага в рапиру, так что изредка длинная арифметика похоже сбивается. Рапира осиротела рано, интересы и люди вокруг были разные, всяко могло быть.

- - - Добавлено - - -


А еще ни слова про совместимость с IBM PC.

Интересно, что только Апл активно боролась против IBM PC, может ещё Атари, но уже очень пассивно. А вот Коммодор просто себя дал раздавить, легши под IBM PC, - хотя ему IBM за это дала бонус, мейнфремовый язык REXX, который внедрили на Амигах с 1990.

- - - Добавлено - - -


эй, алё, при чём тут вообще мулисп? когда в той моей цитате упомянут муСИМП
Вы давали ссылку, что за muSIMP стоит muLisp...


а, ну тогда рапира - специализированный язык для школьников, и что из этого?
muSimp никак не может рассматриваться как универсальный язык программирования. Это встроенный язык макросов для данного пакета. MuSimp никто (кроме Вас) и никогда не позиционировал как универсальный. Он не может быть универсальным и по внешним признакам - нет поддержки работы с файлами и текстовыми строками. В рапире это всё есть. Её "школьность" не объективный фактор, а влияние обстоятельств, тяжелой обстановки заката СССР.

GARNIZON
08.07.2021, 23:36
Выше уже написал запрос. Не смог у Вас найти рапиру, а желательно получить разные версии. Вот уважаемый Lethargeek вообще сомневается, что арифметика на рапире работала...

Я уже говорил, для Эпл (как и для мистического агата, который эпл-клон) у меня нет версии, тем более что она на английском.

А для Агата, тот который из НИИВК - пожалуйста, качайте на сайте. Тут трудностей не вижу.

Lethargeek
08.07.2021, 23:54
Была у нас подтема о том, где вообще использовали BCD. Привел пример некоторых бейсиков, а Вы наверное поняли это как некое обобщение.
мало ли что там где-то было, отвечал я на конкретное сообщение о "коммерческих задачах", а не о бейсиках


Вы давали ссылку, что за muSIMP стоит muLisp...
да, стоит, и что? а в том посте говорю, что на сайте есть мусимп - "промах" в чём?


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


MuSimp никто (кроме Вас) и никогда не позиционировал как универсальный. Он не может быть универсальным и по внешним признакам - нет поддержки работы с файлами и текстовыми строками.
во-1, конечно же, ЕСТЬ (а если даже чего-то не хватает, то есть возможность запуска машиннокодовых процедур)
во-2, с каких пор наличие каких-то типов данных стало вдруг критерием универсальности?
в жабе, например, нет беззнаковых целых - но где сегодня жаба и где рапира

CodeMaster
09.07.2021, 08:21
Давненько не было таких принципиально детальных споров ни о чём...

Lethargeek
09.07.2021, 09:49
CodeMaster, паровозы надо давить, пока они чайники

klingon
09.07.2021, 10:40
На рапире пишем ?s[1:6]; - конечно рапира не так отшлифована в мелочах. Она появилась заметно раньше и использовалась, по сравнению с питоном, на совсем маломощной технике. Но сам синтаксис с квадратными скобками и двоеточием был очень передовым. Странно, что вы с этим спорите. И длина строки у рапиры более компактно записывается.
Всё таки рапира достаточно широко применялась в образовании, а SETL - это был скорее какой-то теоретический язык. В википедии почему-то упоминают только его реализацию на БЭСМ-6. :)


Все ноги растут из математики и главным образом из SETL
Тут в книжечке можно прочитать как SETL работает с множествами (https://www.sciencedirect.com/science/article/pii/0898122175900115)

обратите внимание на год (думаю, что Радзянскія теоретики были знакомы с этими статьями, так же и на БЭСМ-6 не они ли адаптировали SETL?)
строка - это просто множество символов, потому и в питоне и в рапире, как языках вдохновленных SETL, сходные конструкции.
Как я писал ранее сету был определенно скомунизжен и доступен в СССР. Этот способ работы со строками и массивами мог казаться самоочевидным в то время.

b2m
09.07.2021, 11:53
за muSIMP стоит muLisp..
А не хотите ли взглянуть на программу, которая работает после запуска muSIMP (в z80 варианте)?
Я вот заморочился и выковырял:
SETQ они переименовали в двоеточие, а CONS в ADJOIN
(: RDS FALSE)
(: SCAN ';)
(: READCHAR TRUE)
(: ECHO FALSE)
(: WRS FALSE)
(: NEWLINE 0)
(: LPRINTER FALSE)
(: RPAR '")")
(: LPAR '"(")
(: COMMA '",")
(: BELL TRUE)
(: EX1 '(SAVE PARSE))
(: EX2 ';)
(: DELIMITER '(EXIT ENDLOOP ENDBLOCK ENDFUN ENDSUB ")" ","))
(PUT 'INFIX ': '(COND ((NAME EX1) (LIST : EX1 (PARSE SCAN 20))) ((SYNTAX BAD ASSIGNMENT))))
(PUT 'INFIX '"(" '(COND ((NAME EX1) (ADJOIN EX1 (MATCH RPAR))) ((SYNTAX OPERATOR "NOT FOUND"))))
(PUT 'LBP '^ 140)
(PUT 'LBP '/ 120)
(PUT 'LBP '* 120)
(PUT 'LBP '- 100)
(PUT 'LBP '+ 100)
(PUT 'LBP '> 80)
(PUT 'LBP '< 80)
(PUT 'LBP 'OR 50)
(PUT 'LBP 'AND 60)
(PUT 'LBP 'EQ 80)
(PUT 'LBP '= 80)
(PUT 'LBP ': 180)
(PUT 'LBP '"(" 200)
(PUT 'PREFIX '- '(COND ((: EX2 (PARSE EX2 130)) ((INTEGER EX2) (MINUS EX2)) (LIST '- EX2))))
(PUT 'PREFIX '+ '(PARSE EX2 130))
(PUT 'PREFIX 'LOOP '(ADJOIN 'LOOP (MATCH 'ENDLOOP)))
(PUT 'PREFIX 'BLOCK '(COND ((EQ SCAN 'WHEN) (ADJOIN (WHENPARSE (PARSE (SCAN) 0)) (MATCH 'ENDBLOCK))) ((SYNTAX 'BLOCK WITHOUT 'WHEN))))
(PUT 'PREFIX 'WHEN '(WHENPARSE (PARSE SCAN 0)))
(PUT 'PREFIX 'SUBROUTINE '(DEFFUN (READLIST SCAN) 'SUBROUTINE 'ENDSUB))
(PUT 'PREFIX 'FUNCTION '(DEFFUN (READLIST SCAN) 'FUNCTION 'ENDFUN))
(PUT 'PREFIX 'PROPERTY '(PUTPARSE (READLIST SCAN) (READLIST SCAN)))
(PUT 'PREFIX '"'" '(LIST '"'" (READLIST SCAN)))
(PUT 'PREFIX '"(" '(MATCHNOP (PARSE EX2 0) RPAR))
(PUT 'RBP '^ 139)
(PUT 'RBP '/ 120)
(PUT 'RBP '* 120)
(PUT 'RBP '- 100)
(PUT 'RBP '+ 100)
(PUT 'RBP '> 80)
(PUT 'RBP '< 80)
(PUT 'RBP 'OR 50)
(PUT 'RBP 'AND 60)
(PUT 'RBP 'NOT 70)
(PUT 'RBP 'EQ 80)
(PUT 'RBP '= 80)
(: ERR FALSE)
(: @ FALSE)
(: CR '"
")
(: POINT FALSE)
(PUTD 'ECHO '(FUNCTION FALSE
(OR (NOT RDS) ECHO)))
(PUTD 'MAKDEF '(FUNCTION (EX1 EX2 LEX1)
(
(=
(REST (GETD EX1)) LEX1) EX1)
(
(
(AND (GETD EX1) (ECHO)) (PRINT " *** REDEFINED: ") (PRINTLINE EX1)))
(PUTD EX1 (ADJOIN EX2 LEX1)) EX1))
(PUTD 'SUBROUTINE '(SUBROUTINE LEX1
(MAKDEF (FIRST LEX1) 'SUBROUTINE (REST LEX1))))
(PUTD 'FUNCTION '(SUBROUTINE LEX1
(MAKDEF (FIRST LEX1) 'FUNCTION (REST LEX1))))
(PUTD 'PUTPROP '(SUBROUTINE (EX1 EX2 EX3)
(
(OR
(= (GET EX1 EX2) EX3)
(=
(GETD (GET EX1 EX2)) EX3)) EX1)
(
(
(AND (GET EX1 EX2) (ECHO)) (PRINT " *** REDEFINED: ") (PRINT EX1) (SPACES 2) (PRINTLINE EX2)))
(
(EQ (FIRST EX3) 'FUNCTION)
(PUTD
(PUT EX1 EX2
(COMPRESS (LIST EX1 EX2))) EX3) EX1) (PUT EX1 EX2 EX3) EX1))
(PUTD 'TERMINATOR '(FUNCTION FALSE
(OR (EQ SCAN ;) (EQ SCAN $) (EQ SCAN &))))
(PUTD 'DELIMITER '(FUNCTION FALSE
(OR (TERMINATOR) (MEMBER SCAN DELIMITER))))
(PUTD 'MATCH '(FUNCTION (DELIM LEX1)
(
((EQ SCAN COMMA) (SCAN)))
(LOOP
((EQ SCAN DELIM) (SCAN) (REVERSE LEX1))
((DELIMITER) (SYNTAX DELIM "NOT FOUND"))
(PUSH (PARSE SCAN 0) LEX1)
((EQ SCAN DELIM) (SCAN) (REVERSE LEX1))
(
(NOT (EQ SCAN COMMA)) (SYNTAX DELIM OR COMMA "NOT FOUND")) (SCAN))))
(PUTD 'MATCHNOP '(FUNCTION (EX1 DELIM)
((EQ SCAN DELIM) (SCAN) EX1) (SYNTAX DELIM OR OPERATOR "NOT FOUND")))
(PUTD 'PARSE '(FUNCTION (EX1 RBP EX2)
((DELIMITER) (SYNTAX EX1 "USED AS" NAME))
(: EX2 (SCAN))
(
(
(GET 'PREFIX EX1)
(: EX1
(EVAL
(GET 'PREFIX EX1))))
(
(GET 'LBP EX1) (SYNTAX EX1 "USED AS" PREFIX OPERATOR))
(
(GET 'RBP EX1)
(: EX1
(LIST EX1
(PARSE EX2
(GET 'RBP EX1))))))
(LOOP (: EX2 SCAN)
(
(NOT
(LESSER RBP
(GET 'LBP EX2))) EX1) (SCAN)
(
(
(GET 'INFIX EX2)
(: EX1
(EVAL
(GET 'INFIX EX2))))
(
(GET 'RBP EX2)
(: EX1
(LIST EX2 EX1
(PARSE SCAN
(GET 'RBP EX2)))))
(: EX1 (LIST EX2 EX1))))))
(PUTD 'READLIST '(FUNCTION (EX1)
(LOOP
(
(NOT (EQ EX1 COMMA)))
(: EX1 (SCAN)))
((EQ EX1 RPAR) (SYNTAX))
(
(NOT (EQ EX1 LPAR)) (SCAN) EX1)
(LOOP
(
(NOT
(EQ (SCAN) COMMA))))
((EQ SCAN RPAR) (SCAN) FALSE) (: EX1)
(LOOP
(: EX1
(CONCATEN EX1
(LIST (READLIST SCAN))))
((EQ SCAN RPAR) (SCAN) EX1)
((EQ SCAN .)
(: EX1
(CONCATEN EX1
(READLIST (SCAN))))
((EQ SCAN RPAR) (SCAN) EX1) (SYNTAX)))))
(PUTD 'PUTPARSE '(FUNCTION (EX1 EX2)
(
(AND (NAME EX1) (NAME EX2))
(LOOP
(
(NOT (EQ SCAN COMMA))) (SCAN))
(LIST 'PUTPROP EX1 EX2 (PARSE SCAN 0))) (SYNTAX)))
(PUTD 'DEFFUN '(FUNCTION (EX1 EX2 EX3)
(
(AND (NAME EX1) EX1)
(ADJOIN EX2
(ADJOIN EX1
(ADJOIN (READLIST SCAN) (MATCH EX3)))))
(ADJOIN EX2
(ADJOIN EX1 (MATCH EX3)))))
(PUTD 'IDENTITY '(FUNCTION (EX1) EX1))
(PUTD 'WHENPARSE '(FUNCTION (EX1)
((ATOM EX1)
(ADJOIN
(LIST 'IDENTITY EX1)
(MATCH 'EXIT)))
(ADJOIN EX1
(MATCH 'EXIT))))
(PUTD 'DRIVER '(FUNCTION (EX1 EX2)
(
((NOT EX1) (RDS))) (WRS) (: READCHAR TRUE) (NEWLINE 2)
(LOOP (: ERR)
(
((ECHO)
(PRINT '?) (SPACES 1)
(
(AND (NOT RDS) BELL)
(PRINT ')))) (: EX1)
(: EX1
(PARSE (SCAN) 0)) (: EX2 SCAN)
(
((ECHO) (NEWLINE NEWLINE)))
(
(
(OR ERR
(NOT (TERMINATOR))) (SYNTAX OPERATOR "NOT FOUND") (NEWLINE))
(
(EQ EX2 '$)
(: @ (EVAL EX1))
((ECHO) (NEWLINE)))
(PRINT '@)
(PRINT ':)
(: @ (EVAL EX1)) (SPACES 1)
(
(
(EQ EX2 ';) (PRTMATH @ 0 0 TRUE)) (PRINT @)) (NEWLINE 2) (NEWLINE NEWLINE)))))
(PUTD 'SYNTAX '(FUNCTION LEX1
((EVAL ERR)) (: ERR TRUE) (NEWLINE) (PRINT "SYNTAX ERROR! ")
(LOOP
((ATOM LEX1))
(PRINT (POP LEX1)) (SPACES 1)) (NEWLINE)
(LOOP
(
((AND ECHO RDS)) (PRINT SCAN))
(
(OR (TERMINATOR)
(AND (EQ SCAN CR) (NOT RDS)))) (READCHAR)) (: RDS FALSE) (NEWLINE)))
(PUTD '- '(FUNCTION (EX1 EX2)
((EMPTY EX2) (MINUS EX1)) (DIFFERENCE EX1 EX2)))
(PUTD '/ '(FUNCTION (EX1 EX2) (QUOTIENT EX1 EX2)))
(PUTD 'PRTSPACE '(FUNCTION FALSE
((NOT PRTSPACE)) (SPACES 1)))
(PUTD 'PRTPAREN '(FUNCTION (EX1)
(
(GET 'RBP LOP1)
(
(> LBP
(GET 'RBP LOP1)) (PRINT EX1))
(
(GET 'LBP LOP1)
(
(< RBP
(GET 'LBP LOP1))) (PRINT EX1)))
(
(GET 'LBP LOP1)
(
(< RBP
(GET 'LBP LOP1))) (PRINT EX1))))
(PUTD 'PRTLIST '(FUNCTION (LOP1 EX1 LEX1) (PRINT LOP1) (PRTSPACE) (PRINT LPAR)
(LOOP (PRTMATH EX1 0 0)
((ATOM LEX1)) (PRINT COMMA) (PRTSPACE)
(: EX1 (POP LEX1))) (PRINT RPAR)))
(PUTD 'PRTMATH '(FUNCTION (EX1 RBP LBP PRTSPACE EX2 EX3 LOP1 LEX1)
((ATOM EX1)
(
(AND (NEGATIVE EX1) (> LBP 130)) (PRINT LPAR) (PRINT EX1) (PRINT RPAR)) (PRINT EX1))
(
(AND (NUMBER EX1)
(OR (POSITIVE POINT) (ZERO POINT)))
(: EX2 (DEN EX1))
(: EX1 (NUM EX1)) (: PRTSPACE FALSE)
(
((NEGATIVE EX1)
(
((> LBP 130) (: PRTSPACE TRUE) (PRINT LPAR)))
(PRINT '-)
(: EX1 (- EX1))))
(: EX1 (DIVIDE EX1 EX2))
(PRINT (FIRST EX1))
(PRINT '.) (: EX3 POINT)
(LOOP
((ZERO EX3))
(
(ZERO (SECOND EX1)))
(: EX1
(DIVIDE
(TIMES (SECOND EX1) (RADIX)) EX2))
(: EX3 (DIFFERENCE EX3 1))
(PRTDIG (FIRST EX1)))
((IDENTITY PRTSPACE) (PRINT RPAR)))
(: LOP1 (FIRST EX1))
(: LEX1 (REST EX1))
(
(APPLY
(GET 'PRTMATH LOP1) (LIST LEX1)))
((ATOM LEX1) (PRINT LOP1) (PRTSPACE) (PRINT LPAR) (PRINT RPAR))
(: EX1 (POP LEX1))
((ATOM LEX1) (PRTPAREN LPAR)
(
(GET 'RBP LOP1) (PRINT LOP1) (PRTSPACE)
(PRTMATH EX1
(GET 'RBP LOP1) 0) (PRTPAREN RPAR))
(
(GET 'LBP LOP1)
(PRTMATH EX1 0
(GET 'LBP LOP1)) (PRTSPACE) (PRINT LOP1) (PRTPAREN RPAR)) (PRTLIST LOP1 EX1 LEX1))
(
(AND
(GET 'RBP LOP1)
(GET 'LBP LOP1)) (PRTPAREN LPAR)
(PRTMATH EX1 0
(GET 'LBP LOP1))
(LOOP
(: EX1 (POP LEX1)) (PRTSPACE) (PRINT LOP1) (PRTSPACE)
((ATOM LEX1))
(PRTMATH EX1
(GET 'RBP LOP1)
(GET 'LBP LOP1)))
(PRTMATH EX1
(GET 'RBP LOP1) 0) (PRTPAREN RPAR)) (PRTLIST LOP1 EX1 LEX1)))
(PUTD 'PRTDIG '(FUNCTION (EX1)
(
(EQ (LENGTH EX1) 1) (PRINT EX1))
(PRINT
(SECOND (EXPLODE EX1)))))

- - - Добавлено - - -

Программа стартует функцией DRIVER :)

avivanov76
09.07.2021, 21:41
Расскажу пока подробности про muMATH для Apple. Хотя нас тут убеждают, что это пакет только для ученых и без диплома кандидата наук к нему и подходить нельзя, на деле все проще.

Во-первых, матрицы, решение систем уравнений, числовые ряды, дифуры - это все программа института. В гугле можно найти кучу ссылок на статьи, в которых описан опыт применения этого пакета в ВУЗах. Например, раз (https://www.learntechlib.org/p/142589/), два (https://dl.acm.org/doi/abs/10.1145/1089355.1089356), три (https://www.sciencedirect.com/science/article/abs/pii/0360131586900667).
То есть, Рапира - инструмент для обучения школьников, а muMATH - студентов.

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

Что есть в пакете muMATH?
1) Операционка ADIOS, которая представляет собой некий гибрид CP/M и штатной DOS 3.3 для Apple. Например, в ней есть команда TYPE, которой можно просматривать находящиеся на диске файлы. Также в ней есть понятие текущего диска. Команда "1:", выбирает первый диск, "2:" - второй. Запуск исполняемых файлов (*.COM) производится командой RUN.
2) Два варианта интерпретатора MUSIMP.COM и MUSIMPX.COM. Первый расчитан на Apple с 48Кб памяти, второй - на Apple с 64Кб (48Кб + Language Card).
3) Набор текстовых файлов с программами на muSIMP, которые, собственно, и реализуют все математические функции.

Еще раз, коротко: голый muSIMP не может ничего делать с уравнениями или матрицами. Он даже в степень не возводит. Все математические возможности появляются после того, как нужная программа на muSIMP загружается в память функцией RDS(ИМЯ,РАСШИРЕНИЕ,ДИСК); и транслируется.

Например, чтобы посчитать 2 в степени 1800 мне понадобилось загрузить файл ARITH.MUS. Поддержка длинной арифметики в muSIMP встроена, для нее ничего грузить не надо, но это именно 4 действия. Без загрузки ARITH.MUS интерпретатор не знает, что такое ^ и считает выражение 2^1800 просто строкой.

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

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



FUNCTION EXPT (EX1, EX2,
% Local: % EX3),
EX3: 1,
WHEN INTEGER (EX1),
LOOP
BLOCK
WHEN REST(EX2:DIVIDE(EX2,2)) EQ 1,
EX3: TIMES(EX1,EX3) EXIT
ENDBLOCK,
WHEN ZERO (EX2:FIRST(EX2)), EX3 EXIT,
EX1: TIMES(EX1,EX1)
ENDLOOP EXIT,
LOOP
BLOCK
WHEN REST(EX2:DIVIDE(EX2,2)) EQ 1,
EX3: EX1*EX3 EXIT
ENDBLOCK,
WHEN ZERO (EX2:FIRST(EX2)), EX3 EXIT,
EX1: SQUARE(EX1)
ENDLOOP
ENDFUN$



Поддержка работы с файлами тут тоже есть. Есть функция RDS (ReaD Select), перенаправляющая файл в текущий поток ввода, и функция WRS (WRite Select), перенаправляющая текущий вывод в файл. Когда мы в интерактивном режиме пишем RDS(ИМЯ,РАСШИРЕНИЕ,ДИСК); фактически на вход интерпретатора перенаправляется указанный файл. Этим пользуются интерактивные уроки, отображая текст задания из файла, а потом переключая ввод на клавиатуру, чтобы пользователь мог решить показанные примеры.

Но есть пример и поинтереснее. Дело в том, что muMATH содержит среду разработки (IDE). На первом диске есть программа TRACE.MUS, которая позволяет отлаживать функции с помощью отладочного вывода.
А на третьем диске находится... текстовый редактор EDIT! Написанный целиком на muSIMP. Как вам такое? Текстовый редактор на языке якобы без поддержки работы с текстовыми строками.
Что интересно, в нем есть даже автоматические отступы.

На том же диске есть программа SAVEPROG, которая позволяет сохранить на диск выбранные функции в виде файла.

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

Кстати, этот редактор меня заставил призадуматься над Рапирой. В Рапире вызов редактора не самый очевидный. Нужно написать


ПРОЦ ИМЯ_ПРОЦЕДУРЫ

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

В muMATH можно написать


EDIT(NEWFUNCTION);

и тоже будет вызван редактор. И в нем будет заготовка функции. Дальше мы правим текст функции, выходим из редактора и происходит проверка синтаксиса. Если есть ошибки, о них сразу будет выдано сообщение.
75808 75809 75810

По-моему, сделано все один в один. И вот возникает вопрос, а может, разработчики Рапиры подглядели этот интерфейсный ход в muMATH? Ведь известно, что проводились закупки (http://ershov-arc.iis.nsk.su/archive/eaindex.asp?did=7448) как самих Apple, так и софта для них. Так что они вполне могли держать этот пример перед глазами.

litwr
10.07.2021, 11:23
Я уже говорил, для Эпл (как и для мистического агата, который эпл-клон) у меня нет версии, тем более что она на английском.
А для Агата, тот который из НИИВК - пожалуйста, качайте на сайте. Тут трудностей не вижу.
Возили же какую-то рапиру в Штаты и наверное локализованную для местных? И Вы сами писали, что была рапира 1.2 - неужели нигде не сохранилась? А ещё бы найти 1.1 или 1.0... А то что на сайте, это в любом эмуляторе штатные добавки. Хотелось бы более древнего "антиквариата". :) Писали, что изначально делали рапиру на БЭСМ-6. Недавно сделали эмулятор БЭСМ-6 - если рапиру делали там, то найти бы и её и запустить.


CodeMaster, паровозы надо давить, пока они чайники
Аргументики странные.


строка - это просто множество символов, потому и в питоне и в рапире, как языках вдохновленных SETL, сходные конструкции.
Как я писал ранее сету был определенно скомунизжен и доступен в СССР. Этот способ работы со строками и массивами мог казаться самоочевидным в то время.
Извините, но строка - это никакое не множество. Может на белорусском это синонимы? Setl как любое явление в научном мире был доступен всем интересующимся передовыми ИТ, поэтому в факте его использования в СССР нет никакого негатива. Но Setl довольно древнее явление, тогда ещё не было квадратных скобок. В рапире использовали очень прогрессивную запись, подобная которой широко используется и поныне.


А не хотите ли взглянуть на программу, которая работает после запуска muSIMP (в z80 варианте)?
Я вот заморочился и выковырял:

Это очень интересно и это определенно лисп. Однако после ссылки, которую нам любезно предоставил уважаемый Lethargeek, нам уже было известно, что за muSimp иногда стоит muLisp. Вы доказали, что это верно для варианта для z80. Однако, есть основания полагать, что для 6502 это не так. Потому как muLisp для 6502 в природе не обнаружен и потому как в muSimp мануале есть указание, что muSimp написан на нём самом, раскруткой. В любом случае, это неважно, так как даже если в muMath для 6502 есть фрагменты muLisp, это именно фрагменты muMath, от него неотделимые. А мы ищем универсальный ЯП, который мог бы обрабатывать длинные числа.
И ещё, как уже не раз здесь писалось, muLisp для z80 был известнен издавна...


Расскажу пока подробности про muMATH для Apple. Хотя нас тут убеждают, что это пакет только для ученых и без диплома кандидата наук к нему и подходить нельзя, на деле все проще.

То есть, Рапира - инструмент для обучения школьников, а muMATH - студентов.
Почему только для ученых? Математический пакет - это ПО для тех, кому нужна компьютерная математика. Это может быть и школьник, и студент, и инженер, и ученый, и даже продвинутая домохозяйка. Высококвалифицированному рабочему тоже может понадобиться что-то подсчитать по не совсем тривиальной формуле. А рапира - это обычный, универсальный и очень прогрессивный для своего времени ЯП. В нем нет ничего специфически школьного.


Во-вторых, не надо думать, будто этот пакет заточен только под ввод формул и ничего больше делать в нем нельзя.
Никто этого не утверждал. Наоборот приводил для уважаемого Lethargeek примеры других математических систем. Это реально очень мощные инструменты, с мощными встроенными языками программирования. Могу только повторить для Вас, что это не делает эти системы универсальными средствами программирования. Они могут ими стать только если каким-то волшебством все ЯП общего назначения исчезнут. Ди и в этом случае, умельцы вырежут сам ЯП из системы, расширят его нужнуми мелочами и библиотеками и только потом предоставят публике как универсальный ЯП. :)


Что есть в пакете muMATH?
Уже этого достаточно, чтобы опровергнуть заявления, будто у muSIMP нет поддержки работы с текстовыми строками. Ведь этот код как-то объяснил интерпретатору, что символ ^ - теперь оператор возведения в степень. Впрочем, есть и другое опровержение.
Вот, кстати, сама реализация возведения в степень. Видно, что тут полноценный алгоритм с циклами, условными операторами и вызовами других функций.

Благодарю Вас за очень интересный обзор некоторых возможностей математического пакета muMath. Реально очень хорошо для 8-битных машин и начала 80-х.
Насчет строк свою позицию обосновывал отсутствием информации по ним в официальной документации. Ваш пример только показывает, что есть какие-то недокументированные низкоуровневые механизмы, а не полноценная строковая алгебра. Никто не утверждал, что в muSimp не хватает операторов, утверждалось только, что не хватает некоторых типовых для универсального языка программирования средств. И повторю в современных системах компьютерной математики все эти средства есть...


Поддержка работы с файлами тут тоже есть. Есть функция RDS (ReaD Select), перенаправляющая файл в текущий поток ввода, и функция WRS (WRite Select), перенаправляющая текущий вывод в файл. Когда мы в интерактивном режиме пишем RDS(ИМЯ,РАСШИРЕНИЕ,ДИСК); фактически на вход интерпретатора перенаправляется указанный файл. Этим пользуются интерактивные уроки, отображая текст задания из файла, а потом переключая ввод на клавиатуру, чтобы пользователь мог решить показанные примеры.

Это очень примитивный уровень. А как мне одновременную обработки нескольких файлов наладить - это типично для прикладных программ экономического назначения?


По-моему, сделано все один в один. И вот возникает вопрос, а может, разработчики Рапиры подглядели этот интерфейсный ход в muMATH? Ведь известно, что проводились закупки (http://ershov-arc.iis.nsk.su/archive/eaindex.asp?did=7448) как самих Apple, так и софта для них. Так что они вполне могли держать этот пример перед глазами.
Не знаю, наверное при разработке пользовательского интерфейса рапиры изучались разные примеры. Может и на muMath смотрели, ну и что? Ну и не совсем один в один.

klingon
10.07.2021, 19:55
Но Setl довольно древнее явление, тогда ещё не было квадратных скобок. В рапире использовали очень прогрессивную запись, подобная которой широко используется и поныне.
и в чем уникальность квадратных скобок?
Еще ладно бы про двоеточие сказали. В чем уникальность РАПИРЫ по сравнению с SETL и FORTRAN и ALGOL 68?
Посмотрите сравнение синтаксисов для работы со строками (https://en.wikipedia.org/wiki/Comparison_of_programming_languages_(string_functi ons))

не вижу никакой уникальности - квадратные скобки - не аргумент, в ALGON 68 они квадратные.
вижу только желание, чтобы ABC/PYTHON оказались зависимы от мифической РАПИРА, но ни каких свидетельств в пользу этого.

На рапиру безусловно повлияли существующие на тот момент языки ALGOL, FORTRAN (https://docs.oracle.com/cd/E19957-01/805-4939/6j4m0vn6s/index.html), SETL.
Чего-то принципиально нового она наверное не принесла, по крайней мере ее никто не заметил у них там.
Если вы предполагаете гипотезы - подтверждайте пруфами.

- - - Добавлено - - -

и почитайте архив Ершова хотя бы
http://ershov.iis.nsk.su/ru/node/772583
чтобы понять, кто на кого мог влиять

- - - Добавлено - - -

доставляет особенно "Планы на ближайшее будущее - что необходимо вместо РАПИРЫ?"
Ершов был уже знаком с ABC, Smalltalk и Logo и был в унынии

b2m
10.07.2021, 22:21
потому как в muSimp мануале есть указание, что muSimp написан на нём самом, раскруткой
А вот в этом документе (http://oldcomputers.dyndns.org/public/pub/manuals/adios-81.pdf) (последние 2 страницы) сказано, что его портировали из версии для 8086!

- - - Добавлено - - -

Кстати, искал muSimp для Apple II, нашёл диски с ним, но не ADIOS, а Apple ][ CP/M. Так вот там и сама CP/M для i8080, и muSimp для i8080. Я просто не в курсе, у Apple ][ эмулятор i8080 встроенный что-ли?

GARNIZON
11.07.2021, 18:46
Возили же какую-то рапиру в Штаты

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

SegaBoy
11.07.2021, 19:45
Я просто не в курсе, у Apple ][ эмулятор i8080 встроенный что-ли?
Не встроенный. Z80 Soft card от Microsoft с z80 процессором на борту позволяла запускать cp/m.

Lethargeek
11.07.2021, 21:25
Аргументики странные.
странно делать вот такие смехотворные заявления:

это ведь была атака на монополию мейнфреймов, которые позволяли использовать только до 127 десятичных знаков. В Рапире можно было больше 300!

рапира реально рвала шаблоны того времени.

американские топ-менеджеры на Cebit 1984, если им показали рапиру могли почувствствовать себя плохо - рапира ломала им все бизнес-шаблоны, а это очень серьёзно

рапироподобный питон

может Гвидо всё это из рапиры и вытащил. Не понимаю Вашей шутки. Знай Гвидо про рапиру, возможно удавился бы от зависти.

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

первый лисп запустили на Апл только в 2013.
:v2_laugh: :v2_dizzy_facepalm:

а желать придушить в зародыше вредный миф - не странно ничуть


Однако после ссылки, которую нам любезно предоставил уважаемый Lethargeek, нам уже было известно, что за muSimp иногда стоит muLisp.
что значит "иногда"?! нету никакого там "иногда", а есть только

muSIMP is described by its authors (David Stoutemyer and Albert Rich, of the Soft Warehouse, Honolulu. Hawaii) as a “surface language” for muLISP.
...
muSIMP has a very different syntax from LISP, although in other respects it is effectively the same language.
а вот что такое muMATH, оттуда же:

muMATH is a large library of muSIMP function and variable definitions.


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


Потому как muLisp для 6502 в природе не обнаружен и потому как в muSimp мануале есть указание, что muSimp написан на нём самом, раскруткой.
ТОЧНУЮ цитату в студию, после всех фантазий верить нельзя!


В любом случае, это неважно, так как даже если в muMath для 6502 есть фрагменты muLisp,
какая-то бессмыслица, ну что значит "в muMath фрагменты muLisp"?
когда первое выполняется вторым


это именно фрагменты muMath, от него неотделимые.
еще раз: muMATH это БИБЛИОТЕКА ПРОГРАММ, написанных на ЯЗЫКЕ muSIMP
эти программы ВЫПОЛНЯЮТСЯ ИНТЕРПРЕТАТОРОМ MUSIMP.COM (или MUSIMPX.COM)
УДАЛИМ библиотеку с диска - интерпретатор всё равно останется работоспособным
если это не "отделимость", тогда я уже не знаю, что такое "отделимость" :v2_dizzy_tired2:


А мы ищем универсальный ЯП, который мог бы обрабатывать длинные числа.
ничего не ищем, уже НАШЛИ - muSIMP называется :v2_dizzy_king:


Насчет строк свою позицию обосновывал отсутствием информации по ним в официальной документации.
всё там есть, читать внимательней надо


Ваш пример только показывает, что есть какие-то недокументированные низкоуровневые механизмы, а не полноценная строковая алгебра.
что такое "полноценная строковая алгебра" и чем именно она "полноценная"?
в рапире для строк всего три с половиной операции предусмотрены - длина, слияние, вырезка и выборка символа
и всё то же самое есть в мусимпе, судя по мануалу; а вот в рапире парсер выражений есть, например?


Никто не утверждал, что в muSimp не хватает операторов, утверждалось только, что не хватает некоторых типовых для универсального языка программирования средств.
средств хватает, не хватать (кому-то) может синтаксического сахара разве что

dk_spb
11.07.2021, 23:31
Коллеги, простите за глупый и риторический вопрос, а Вам самим не надоело?
litwr давно уже практикует на этом форуме развлекалово (для него) в виде вброса им каких-то мыслей (чем бредовее - тем лучше) и попыток им же сделать какие-то выводы их этих мыслей.
И, что характерно, это всегда срабатывает: находятся (всегда одни и те же) персонажи, которые пишут что-то типа "погодите-ка, это же полная бредятина, на самом деле" и дальше идёт многостраничная дискуссия из серии

принципиально детальных споров ни о чём...

avivanov76
12.07.2021, 00:11
Это исключительно забота о тех, кто прочтет такой вброс и примет его за чистую монету.

litwr
12.07.2021, 14:16
и в чем уникальность квадратных скобок?
не вижу никакой уникальности - квадратные скобки - не аргумент, в ALGON 68 они квадратные.

Речь не про уникальность, а про то, что в рапире впервые был использован синткасис, близкий к тому, который стал очень популярным лет через 10-15 и остаётся популярным до настоящего времени.
Algol-68 так вроде полностью нигде и не реализовали и операторы там громоздкие, в рапире лучше.


вижу только желание, чтобы ABC/PYTHON оказались зависимы от мифической РАПИРА, но ни каких свидетельств в пользу этого.
Это у Вас скорее желание. С моей стороны только факты и непротиворечащие им предположения. Что такого странного, что ведущие специалисты могли ознакомиться с крупной разработкой ведущего тогда в СССР специалиста, тема рапиры была на международных встречах. Скорее странно, если бы было наоборот. Тогда в США даже газету ЦК КПСС Правда полностью стали переводить на английский. :)


На рапиру безусловно повлияли существующие на тот момент языки ALGOL, FORTRAN, SETL.
Конечно, повлияли - кто с этим спорит?


Чего-то принципиально нового она наверное не принесла, по крайней мере ее никто не заметил у них там.
Как первый достаточно массовый язык с поддержкой очень хороших типов данных при минималистическом, но полном наборе операторов, рапира реально первой принесла именно принципиально новое. Плюс поддержка длинных чисел, которая не у лиспов появилась только с 90-х и 2000-х.


и почитайте архив Ершова хотя бы
http://ershov.iis.nsk.su/ru/node/772583
чтобы понять, кто на кого мог влиять

доставляет особенно "Планы на ближайшее будущее - что необходимо вместо РАПИРЫ?"
Ершов был уже знаком с ABC, Smalltalk и Logo и был в унынии

А что Вам там показалось необычного? Безусловно Ершов должен был быть знаком с лучшими разработками в области ЯП - иначе какой же он был тогда авторитет? Он сразу почувствовал большие перспективы идей Smalltalk. Возможно, следующий вариант рапиры поддерживал бы ООП и лучшим образом, чем это сделано в питоне, где ООП выглядит скорее как опциональное расширение, чем необходимая компонента. Он также очень верно заметил, что рапире не хватает ассоциативных массивов, то что в начале 80-х сделали в awk, а потом принесло перлу большую популярность. Он также заметил, тенденции к использованию модулей. Всё самое передовое планировалось внедрять... Просмотрел он только перспективность регулярных выражений, но возможно заметил бы их при следующей итерации.

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


А вот в этом документе (http://oldcomputers.dyndns.org/public/pub/manuals/adios-81.pdf) (последние 2 страницы) сказано, что его портировали из версии для 8086!

Кстати, искал muSimp для Apple II, нашёл диски с ним, но не ADIOS, а Apple ][ CP/M. Так вот там и сама CP/M для i8080, и muSimp для i8080. Я просто не в курсе, у Apple ][ эмулятор i8080 встроенный что-ли?

Реально интересная тема. Её можно подннять на Апл-форумах. Вроде делали muLisp для 6502 и даже сделали под это специальную ОС, но что-то похоже в последний момент сорвалось.

Не знал, про конверсию с 8086 - благодарю Вас.


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

Не понял Вас. :( Разве Лео не писал, что Советы могут попробовать продать свой "неудачный клон" на Западе? Разве это не достоверность?! В рекламном проспекте для Штатов есть упоминание рапиры - зачем бы было это делать, если показать было нечего? Зачем возить компьютер на выставку продавцов оборудования, если не с целью продать?! К сожалению, уровень дискуссии понижается. :( Похоже тут совсем нет тех, кто реально работал с рапирой. :(


Коллеги, простите за глупый и риторический вопрос, а Вам самим не надоело?
litwr давно уже практикует на этом форуме развлекалово (для него) в виде вброса им каких-то мыслей (чем бредовее - тем лучше) и попыток им же сделать какие-то выводы их этих мыслей.
И, что характерно, это всегда срабатывает: находятся (всегда одни и те же) персонажи, которые пишут что-то типа "погодите-ка, это же полная бредятина, на самом деле" и дальше идёт многостраничная дискуссия из серии
:( Очень грусно от Вас. Рапира - реально был очень крутой язык, по факту прообраз многих современных языков... Если Вам эта тема далека, зачем Вы сюда зашли? Мне, например, эта тема интересна, как писал выше, занимался разработкой компилятора.

- - - Добавлено - - -


Я уже говорил, для Эпл (как и для мистического агата, который эпл-клон) ...

Не могли бы вы пояснить, почему для Вам не нравится термин эпл-клон для Агата? Все-таки элементы аппаратуры, системные вызовы, ДОС, формат дискет те же. Любую Эпл-программу, что выводит текст через системный вызов можно прямо запускать на Агате. По факту имеем компьютер с частичной совместимостью с Эпл 2, но с набором дополнительных возможностей. Рискну предположить, что не более 10% Эпл-программ можно использовать на Агатах напрямую. Для Лазеров это число - более 90%. Может Лео не так уж был и неправ...

CodeMaster
12.07.2021, 14:52
Рапира - реально был очень крутой язык, по факту прообраз многих современных языков...
Ну, как не процитировать классика "И тут Остапа понесло..." ;-)

Hunta
12.07.2021, 16:28
Ну, как не процитировать классика "И тут Остапа понесло..."
Боюсь, тут не Остапа понесло, а Кису :)

shattered
12.07.2021, 21:14
Это исключительно забота о тех, кто прочтет такой вброс и примет его за чистую монету.

на этот счет придумана прекрасная технология shadow ban

litwr
12.07.2021, 22:39
на этот счет придумана прекрасная технология shadow ban
Не понял. Что не так? Если тема не нравится, то зачем участвовать? Мне реально нравится рапира - если это позиция на этом форуме раздражитель, дайте знать и нечего больше по теме постить не буду. Хотя это чудеса какие-то нехорошие. :(
И почему "вброс"?! Сказать больше нечего по существу?

- - - Добавлено - - -


Ну, как не процитировать классика "И тут Остапа понесло..." ;-)
И это тут причем?:( Вы рапиру изучали? Может что по существу скажите?

- - - Добавлено - - -


Коллеги, простите за глупый и риторический вопрос, а Вам самим не надоело?
litwr давно уже практикует на этом форуме развлекалово (для него) в виде вброса им каких-то мыслей (чем бредовее - тем лучше) и попыток им же сделать какие-то выводы их этих мыслей.

И что же такого бредового Вам еще вбросили? :( Как мандельброта построить на Корвете и БК? Это тоже бред для Вас? :( Или детали работы с таймером? :( У меня более 400 постов, есть и благодарности...

GARNIZON
12.07.2021, 22:49
Знаком с Рапирой с 88 года, но с некоторыми из её создателей познакомился только после создания сайта об Агате.
Красивый скриптовый язык, и много мне помог.

litwr, очень мило что вам нравится этот школьный язык, таки наша история - но не больше!
Могу много интересных фактов привести из его истории, но перед этим мне хотелось бы понять: на самом ли деле вы так нежно его любите и реально знаете его? Или это просто так, на поспорить с форумчанами?
Плиз, напишите на рапире программу игры в шашки (или любую карточную игру), обязательно используя кортежи.
Не надо графического оформления, просто диалог. Это мог сделать любой школьник после третьего урока информатики примерно за 30-40 минут.



Разве Лео не писал, что Советы могут попробовать продать

Рассматривать Лео как достоверный источник не стоит. У него не было задачи писать достоверно, задача была написать негативную статью.
Но сам факт, что Агат может продаваться в америке... это как бы.... Вас не смущает разница рынков?
Социалистическую реальность нельзя американскими мерками оценить - но Лео это сделал намеренно. Я писал об этом в данной ветке.



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

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

Как это комментирует Кривцов А.Ю. (ведущий программист, после 1987 г - главный конструктор):
У А.Ф.Иоффе был какой-то вась-вась с "Элоргом", и ему удалось организовать ИМИТАЦИЮ деятельности по экспортным продажам. Назначение и деятельности, и этого проспекта - пробить в министерстве решение о серийном производстве (Агат-4 - опытная партия). Ради этого проспекта и ряда показух в министерстве и на выставках был склеен пластмассовый корпус - макет серийного. Машина прожила долго, приобрела отдельное наименование "Красный агат". Проспекты лежали у нас, раздавались всем подряд... в общем функцию свою сполнили.

Дальше его комментарии относительно Рапиры:

В 82 году, переработанная Рапира родилась на AppleII под присмотром Тартуского универа, откуда в Новосибирск и попал первый Apple.
Была полностью на Английском языке, что вполне устраивало и разработчиков и Тарту - в Эстонии кириллица не очень требуется.
Собственно и подружились мы с отделом А.П.Ершова на проблеме русских шрифтов в текстовом отображении. Предпринималось несколько
попыток продвигать Рапиру-Apple для выхода на заграничное применение, но Агатная версия занимала практически все ресурсы команды, а перспектив спроса не нашлось.



Рискну предположить, что не более 10% Эпл-программ можно использовать на Агатах напрямую

Вот тут главная ошибка, вы рассматриваете его как клон, и поэтому пытаетесь предположить насколько он совместим.
А он не совместим не на 10 не на 1 процент.

Да не надо ничего предполагать, выдумывать, комбинировать, просто внимательно прочтите:
http://agatcomp.ru/agat/Common/fable/fable_sub1.shtml

GARNIZON
17.07.2021, 16:12
Нашлась таки, Рапира 1.2

litwr
18.07.2021, 22:14
litwr, очень мило что вам нравится этот школьный язык, таки наша история - но не больше!
Моя позиция - это часть мировой истории ИТ.


Могу много интересных фактов привести из его истории, но перед этим мне хотелось бы понять: на самом ли деле вы так нежно его любите и реально знаете его? Или это просто так, на поспорить с форумчанами?
Мне представляется, что было бы очень интересно, если бы Вы написали об этом статью. А уже после возможно возникло бы обсуждение. Кстати, благодарю некоторых форумчан, мы вместе обнаружили немало любопытных деталей, сам, например, не знал про muMath-80, а пакет был очень достойный, и про muLisp на z80 тоже не знал.


Плиз, напишите на рапире программу игры в шашки (или любую карточную игру), обязательно используя кортежи.
Не надо графического оформления, просто диалог. Это мог сделать любой школьник после третьего урока информатики примерно за 30-40 минут.
:) Очень смешно. Сам работал в основном со студентами, но то что вы пишите - это, к сожалению, провокация. Так, например, провоцируют на рабочих интервью: мы даём Вам 3 часа, но у нас студент такое за 30 минут написал. :) Одна стратегия выбора очередного хода будет стоить дней работы. ;) Даже в крестики-нолики ни на каком языке никто без подготовки и за час не напишет.
Писал уже, что занимался созданием компилятора с рапиры, - Вам этого мало?


Рассматривать Лео как достоверный источник не стоит. У него не было задачи писать достоверно, задача была написать негативную статью.
Но сам факт, что Агат может продаваться в америке... это как бы.... Вас не смущает разница рынков?
Социалистическую реальность нельзя американскими мерками оценить - но Лео это сделал намеренно. Я писал об этом в данной ветке.
Может это только моё мнение, но для меня его статья не является однозначно негативной. Сам факт появления Агата на Cebit был чем-то очень экстраординарным как для СССР, так и для США. Статья как-то отражает эту экстраординарность, каких-то явных неточностей там не нашел. Даже цену возможно ему такую кто-то из членов делегации помог вычислить, считая доллары по 60 коп. :)


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

Как это комментирует Кривцов А.Ю. (ведущий программист, после 1987 г - главный конструктор):
У А.Ф.Иоффе был какой-то вась-вась с "Элоргом", и ему удалось организовать ИМИТАЦИЮ деятельности по экспортным продажам. Назначение и деятельности, и этого проспекта - пробить в министерстве решение о серийном производстве (Агат-4 - опытная партия). Ради этого проспекта и ряда показух в министерстве и на выставках был склеен пластмассовый корпус - макет серийного. Машина прожила долго, приобрела отдельное наименование "Красный агат". Проспекты лежали у нас, раздавались всем подряд... в общем функцию свою сполнили.

Дальше его комментарии относительно Рапиры:

В 82 году, переработанная Рапира родилась на AppleII под присмотром Тартуского универа, откуда в Новосибирск и попал первый Apple.
Была полностью на Английском языке, что вполне устраивало и разработчиков и Тарту - в Эстонии кириллица не очень требуется.
Собственно и подружились мы с отделом А.П.Ершова на проблеме русских шрифтов в текстовом отображении. Предпринималось несколько
попыток продвигать Рапиру-Apple для выхода на заграничное применение, но Агатная версия занимала практически все ресурсы команды, а перспектив спроса не нашлось.


Благодарю за эту очень интересную информацию. Но откуда Вы можете знать, чего именно этот А.Ф.Иоффе добивался? Может открытия представительства для предполагаемых продаж - это могло быть очень выгодным даже без реальных продаж. Конечно, это только гипотезы, но раз он смог пробиться на Cebit, то возможно имел разные планы.



Вот тут главная ошибка, вы рассматриваете его как клон, и поэтому пытаетесь предположить насколько он совместим.
А он не совместим не на 10 не на 1 процент.

Да не надо ничего предполагать, выдумывать, комбинировать, просто внимательно прочтите:
http://agatcomp.ru/agat/Common/fable/fable_sub1.shtml
Ничего такого не рассмотриваю. Я Вам предлагаю конкретные факты. Например, беру образ диска Apple II и запускаю ассемблерную программу с него на Агате и она работает. Аналогичным образом работают очень многие программы, написанные на бейсике. Вам не нравится слово "клон", поэтому я употреблял фразу "ограниченно совместимый с Апл и имеющий дополнительные возможности". К сожалению, объем софта для Агата, который мне удалось найти, сравнительно невелик. Хотелось бы, чтобы появился какой-нибудь более-менее полный архив агатовского софта - все ж уже 2021. У БК, Корвета, ... с этим всё заметно получше.

EDIT. Кстати, абсолютно с Вами согласен, сто называть Агат клоном Апл 2 некорректно. Совместимость там как примерно такакя же как и у Commodore VIC-20 c Commodore 64 - а их клонами не считают. :)
- - - Добавлено - - -


Нашлась таки, Рапира 1.2
Супер! А где скачать?
EDIT. Напомню, что мой главный интерес - это выяснить почему на снимке экрана в википедии неправильный ответ. Тесты с рапирой 1.2 может могли бы и помочь.

GARNIZON
19.07.2021, 02:00
но для меня его статья не является однозначно негативной

Я про его негативную, все всех отношениях, личность. Я писал в топике про него. Он вор и врун. За что и был поруган Федоровым.
А статья, ну она про предсерийный агат, что уже можно дальше не воспринимать её, поскольку серийный это мягко говоря другое.
Но главное что он заранее имел заказ написать так а не иначе. Т.е. реальность статья не отражает, он умалчивает что не выгодно, привирает к тому что выгодно. Тут главное, он писал что сказано было и за что было заплачено, чтобы он не увидел - написал бы в итоге примерно одно и тоже.
Это риторика такая была, в том же байт (какое дело компьютерному журналу до этого?) примерно тех лет встречается утверждение "СССР в второй мировой сыграл второстепенную и малозначащую роль, в то время как США несли основную нагрузку". Хотя любому человеку несложно посчитать кол-во участвовавших, погибших, территории и прочее и сразу становится понятно что это дурь. Но ведь попадаются на эту мульку люди, и на статью о агате попались - как минимум вы точно попались.



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


беру образ диска Apple II и запускаю ассемблерную программу с него на Агате и она работает.

Приведите пример, конкретный пример.
Ну чистый код 6502 она может и выполнит (как и другие компы на 6502) проц -то одинаковый, но любое обращение к подпрограммам ПЗУ - зависли.
Еще надо чтоб регион памяти был удачный, еще надо чтоб банки памяти не переключались, еще надо... блин, короче кроме чистого кода 6502 НЕ ПРИВЯЗАННОГО К КАКОЙ ЛИБО АРХИТЕКТУРЕ - ничего не выполнит. И главное, даже если соблюсти кучу условий, все равно Агат от такой программы не пискнет и ничего на экране не покажет, режимы отображения иные, включаются по иному. ДА все разное, перечислять устанешь.


Аналогичным образом работают очень многие программы, написанные на бейсике.

Бррррр, на это даже отвечать не буду, неужели так сложно взять эмуляторы и попробовать? Откуда эта дичь!?!


Вам не нравится слово "клон",

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

Очень жаль что вы прочитали статью по ссылке "по диагонали". Однако:
Взгляните на схему Apple][+, и вы увидите что повторить его проще чем "ZX-Spectrum". Никаких специализированных БИС или ULA в нем нет. Кстати, этим обстоятельство воспользовались несколько советских коллективов, например "XONEX" или "БЕРКУТ", изготавливая точные копии плат. Коль скоро точный клон под силу даже любителям, что говорить о создателях Агата. Напомним, что разработкой занимался НИИВК. Такой конторе по силам точная копия СУПЕРЭВМ размером с стадион, а уж тем более совсем не проблема подготовить к производству клон Apple2.

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



А где скачать?

Немного позже. Диск с битым сектором, потребует времени. Хотя, диск в аттаче, сами сможете поправить.
Что ценно, тут и школьница ранняя, версия 2, удачная находка.


Даже в крестики-нолики ни на каком языке никто без подготовки и за час не напишет.

На рапире можно, поэтому и попросил именно так. Но в принципе, это все что я хотел услышать.


Хотелось бы, чтобы появился какой-нибудь более-менее полный архив агатовского софта - все ж уже 2021

Вот так: https://zx-pk.ru/threads/33507-separatsiya-agatovskogo-softa.html

shattered
19.07.2021, 13:21
кроме чистого кода 6502 НЕ ПРИВЯЗАННОГО К КАКОЙ ЛИБО АРХИТЕКТУРЕ - ничего не выполнит.

кстати, это интересная задача для настоящих хакеров - написать такой код :)

litwr
25.07.2021, 20:19
Кстати, искал muSimp для Apple II, нашёл диски с ним, но не ADIOS, а Apple ][ CP/M. Так вот там и сама CP/M для i8080, и muSimp для i8080. Я просто не в курсе, у Apple ][ эмулятор i8080 встроенный что-ли?
Спросил про muLisp нескольких компьютерных форумах. Это не самые крупные хабы Апл-фанов, но на них есть хорошие знатоки.
http://forum.6502.org/viewtopic.php?f=1&t=6703
https://atariage.com/forums/topic/322843-mulisp-for-the-apple-ii/
https://www.vcfed.org/forum/forum/genres/early-apple-i-etc/1217978-missing-mulisp-for-the-6502
Пока результаты нулевые.
Для Апла программный эмулятор 8080 сделали ещё в 70-е.


Я про его негативную, все всех отношениях, личность. Я писал в топике про него. Он вор и врун.
Не понимаю вашей логики. Давайте назавем кого-то нехорошим словом и будем потом к нему так относится? Может они там что-то не поделили с Федоровым. И какое нам здесь на компьютерном форуме до этого дела? И Byte пусть и один из самых солидных компьютерных журналов, но его никто не назывет совершенством. И опять какое нам здесь дело до общих оценок этого издания? Есть конкретная статья про Агат и если Вы там нашли что-то совсем неправильное, то назовите это - где там Лео что-то сознательно исказил? Перечитал статью - мне она как и раньше показалась очень аккуратным отчетом человека, которому довелось поработать с Агатом и пожить в СССР. Только цена очень странная, но, учитывая что речь о прототипе в 1983, когда ещё серийного производства не было налажено, это возможно. В Википедии написано про примерно 100 Агатов-4, при такой крошечной серии цена могла быть и выше. И Лео в итоге дает довольно положительную оценку - My overall impressions of the system were favorable.


Сам Иоффе это считал бредом и группе разработчиков так и говорил. Я не буду вам возражать, поскольку явно прослеживается то, что вы не от фактов отталкиваетесь а просто трактуете факты под свои представления. Скажу только, что разрабы Агата, на такое предположение крутят пальцем у виска.
Давайте всё-таки о фактах. Извините, но ещё раз повторю Вам, что CeBit - это выставка ПРОДАВЦОВ электроники. Если Иоффе и его команда там появилась, то они себе на лбу этим написали ПРОДАЁМ. И если они в Вашем воображении крутят пальцем, то это сцена из дурдома: "Мы приехали на рынок с товаром и встали в ряд с другими продавцами, но только не подумайте, что мы хотим свой товар продать. У нас неведомая никому миссия!" Кстати в отчете - http://ershov.iis.nsk.su/ru/node/805315 страница 2 - указано, что подходили и интересовались ценой, сроками, объемами поставок и никто пальцем при этом не крутил. Вы пишите, что могли чего-то ещё хотеть, на что Вам ответил, что возможны разные варианты. Может быть хотели просто повторить - в позднем СССР - это было круто зарубеж сгонять. Но это только "может", откуда я могу знать чего там Иоффе хотел - это что-то его личное - мы никогда этого наверняка не узнаем.



Приведите пример, конкретный пример.
Ну чистый код 6502 она может и выполнит (как и другие компы на 6502) проц -то одинаковый, но любое обращение к подпрограммам ПЗУ - зависли.
Вот пример.

Выбираю Агат-9 в контроллере Teac дисководе 1 использую образ IKP_1.dsk (860KB), в контроллер Shugart дисководе 1 использую образ от Apple II pi9.dsk (143KB). При загрузке выбираю AppleSoft, затем загружаю программу, написанную на Apple II, в Агат
LOAD HELLO
делаю её листинг
LIST
запускаю
RUN
в появляющемся меню выбираю 1 (Apple IIe), так как другие опции используют коды для 65С02 и 65816 соответственно, что на Агате не должно сработать. Затем ввожу количество цифр числа π и нажимаю Enter - это запускает машинный код, который, не обнаружив мышинной платы, сообщает об этом. Все штатно, как на настоящем Апле, только экран не чистится.
Получается, что некоторые программы в машинных кодах и многие программы на бейсике от Апл 2 на Агате-9 запускаются напрямую. Использую эмулятор Agat v1.29.2 - вроде это один из лучших эмуляторов Агата. Любопытно, что на диске IKP_1 первым идёт файл HELLO - также как обычно и на Аплах. Лео тоже подметил, что агатовкий ДОС - это почти в точности ДОС от Апл.
Хотя, всё более согласен с вами, что Агат фактически никак не клон Apple II, но посмотрите в Википедии, в которой какие-то агатовцы пишут "советский аналог американского компьютера Apple II+", и подобного написано очень много... По технике это неверно, но Агат делали во многом ради возможности запускать программы с Apple II и реально софт с Аплов на Агаты конвертировали. Получается как бы почти клон, если не по железу, то по назначению.


Нравится или нет, про это я не думал. Агат мое хобби, но это не значит что я буду преурашивать его возможности или возможности рапиры. Нужно историю оставить такой как она была.
Не совсем Вас понял. Рапира реально очень крутой язык. С такими типами данных за рубежом для 8-биток и близко ничего не было и даже для 16-биток. А среди массовых языков такого не было вообще. Попробуйте даже на современном питоне сделать объединение вложенных множеств - не получится без мороки, а на рапире запросто. Это просто факты и не понимаю, почему некоторые так агрессивно на них реагировали. И при чем тут история?


Очень жаль что вы прочитали статью по ссылке "по диагонали". Однако:
Взгляните на схему Apple][+, и вы увидите что повторить его проще чем "ZX-Spectrum". Никаких специализированных БИС или ULA в нем нет. Кстати, этим обстоятельство воспользовались несколько советских коллективов, например "XONEX" или "БЕРКУТ", изготавливая точные копии плат. Коль скоро точный клон под силу даже любителям, что говорить о создателях Агата. Напомним, что разработкой занимался НИИВК. Такой конторе по силам точная копия СУПЕРЭВМ размером с стадион, а уж тем более совсем не проблема подготовить к производству клон Apple2.
Это всё демагогия. Элементая база была слабенькая. Более-менее наладили ее только к концу 80-х. Кстати, Вы писали, что из-за этого отставания трудно было представить экспорт Агатов. Хотя если бы захотели, то запросто. Что мешало купить завод по производству чипов? Нанять спецов? Сталин такое делал легко. Китайцы наладили производство отличных Апл-клонов, Лазеров к 1986.


Собственно в ваших сообщениях, мне больше всего и огрочает что вы мало знакомы с архитектурой как эпла так и агата (иначе бы не было этих строк), но комбинируете и делаете выводы, в результате с ляпами вплоть до детсадовских.
А я не претендую, на отличное знание Агата. Тут снимаю перед Вами шляпу. Но 6502 знаю довольно хорошо и никто не совершенен - может не стоит зазнаваться? Если где ошибся, то можно и поправить - в чем проблема?


Немного позже. Диск с битым сектором, потребует времени. Хотя, диск в аттаче, сами сможете поправить.
Что ценно, тут и школьница ранняя, версия 2, удачная находка.
Благодарю за образ со Школьницей-2, но на эмуляторе Агата-7 не пошло. :( Пишет системный сбой после того, как выбираю рапиру - см. снимок экрана. К сожалению, сам этого исправить не смогу. Жду, может у Вам получится это поправить.


На рапире можно, поэтому и попросил именно так.То есть Вы утверждаете, что рапира в педагогике натаскивает школьников в десятки раз быстрее и лучше любых других языков? Причем сразу все 100%?! Извините, но не могу с Вами согласиться. Рапира - хороший язык, но современный питон (рубин, ...) всё же не хуже в целом. :)



Вот так: https://zx-pk.ru/threads/33507-separatsiya-agatovskogo-softa.html
Благодарю, но возможно Вы как-то все усложняете. Что с того, что будет выложены много вариантов программы? Хорошо бы просто слить большой торрент и пусть люди сами ищут, что нужно.
Реально было бы интересно посмотреть, что писали на рапире. Но не знаю, где искать. Может поможете? Пожалуйста.
75889
Диск от Apple II - 75890

GARNIZON
25.07.2021, 21:37
И если они в Вашем воображении

Про какое воображение идет речь? Ясно же что из личной переписки или общения. Иначе откуда у меня комментарии Родителей Агата.
А крутили пальцем да, визуально видел как, много раз, стоило мне завести эту тему.
Этот вопрос подробно разжеван по ссылке что я давал, но вы читали по диагонали к сожалению.


Вот пример.

Стоп, стоп, это вы используете АППАРАТНУЮ ЭМУЛЯЦИЮ у Агат-9, к режимам Агат она не имеет ни какого отношения.
Запускайте это или в Агат-7 или заходите в "бейсик" у ИКП-1.
Этот вопрос подробно разжеван по ссылке что я давал, но вы читали по диагонали к сожалению.


но Агат делали во многом ради возможности запускать программы с Apple II
Это не так. Этот вопрос подробно разжеван по ссылке что я давал, но вы читали по диагонали к сожалению.


Но 6502 знаю довольно хорошо

сам этого исправить не смогу

Тут не понял, но и не важно, будет время - исправленное выложу.

Хотел дальше писать, но подумал что очень часто придется употреблять фразу "Этот вопрос подробно разжеван по ссылке что я давал, но
вы читали по диагонали к сожалению". А почему я собственно должен тратить время на объяснение и копипасты того, что уже есть.
Если вы в свою очередь не желаете тратить время на прочтение "ответа на половину ваших догадок".

Гибкость Агата такова, что он может притворятся не только эпл, но и например ББС микро (не являясь клоном ни одного ни другого) , но чтобы понять всю задумку надо просто вникнуть, я дал вам для этого все необходимое по ссылке. Додумать, предположить и скомбинировать не получится - мы так и будет на разных языках разговаривать. Простите меня.

avivanov76
27.07.2021, 02:21
Я только добавлю, что CeBIT - это выставка, а не ярмарка. Кроме заключения сделок, в выставках участвуют для того, чтобы посмотреть, что делают конкуренты, какие есть тенденции на рынке и чтобы установить новые связи.

На мой взгляд, для СССР наличие своего стенда на CeBIT значило две вещи:
1) возможность принять участие в тех мероприятиях, на которые пускают не рядовых посетителей, а только участников выставки. То есть, "Агат" в данном случае был нужен как "входной билет" в клуб технологических компаний, чтобы представители СССР смогли получить больше подробностей по экспонатам других фирм.
2) упоминание в прессе. Вроде бы мелочь, но если вспомнить, что на "часах судного дня (https://ru.wikipedia.org/wiki/%D0%A7%D0%B0%D1%81%D1%8B_%D0%A1%D1%83%D0%B4%D0%BD% D0%BE%D0%B3%D0%BE_%D0%B4%D0%BD%D1%8F)" в 1984-м было без трех минут ядерная война, любая новость, не связанная с политикой, шла в плюс.

litwr
31.07.2021, 21:30
но вы читали по диагонали к сожалению.
Пользуюсь случаем, чтобы поблагодарить Вас за интересные материалы вообще и эту конкретную статью в частности. Особенно хороши графические иллюстрации. Но почему же "диагональ" - нашёл у Вас даже некоторый ляп - https://zx-pk.ru/threads/33465-agaty-pulty-i-tajmery.html ... Хотя признаюсь, что часть Ваших материалов по Агату ещё не прочитал - с удовольствием собираюсь наверстывать упущенное при любых возникающих оказиях.
С Вашей позицей по Агату как клону Апл в целом считаю правильной. Однако, несмотря на техническую обоснованность Вашей позиции, есть другие факторы, которые позволяют также вполне уважаемым людям продолжать повторять, про клон Апл - https://m.rupoem.ru/poets/mixalkov/prosnulsya-lev-i :)
Жду появления исправленного диска с рапирой... Как, однако, жаль, что и так сравнительно незначительный по объему софт для Агата так трудно доступен. :( Выложили бы архив, люди бы иногда помогали Вам с наведением в нем порядка. А так, где искать Ваши знаменитые шашки, которые все школьники запросто писали за 30 минут?


Гибкость Агата такова, что он может притворятся не только эпл, но и например ББС микро (не являясь клоном ни одного ни другого)
Плату совместимости с ББС Микро (Атари, Коммодором, ...) так и не сделали... И ДОС у Агата совсем ни ББС.


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

Именно ярмарка - The trade fair, что не мешает, конечно, заниматься показом своих изделий. Ряд компьютеров, показaнных на CeBIT, так и не пошли в серию. Работал в конторе, где делали свой процессор. Конкурировать реально не получалось, но на выставку-ярмарку сгонять - это было штатно и приятно. :)

но если вспомнить, что на "часах судного дня"
Молодцы американцы - умеют создавать тренды. Заибиэмели весь СССР, часами этими стращали и застращали и при этом с юмором писали, а "Считают ли Иваны вообще? Если нет, то почему?" - https://www.ucis.pitt.edu/nceeer/1989-801-5-2-Judy.pdf - вроде серьёзный труд. :)
Даже с Агатами они всё узнали раньше большинства жителей СССР - Лео получил второй (!) прототип и тут же отрапортовал о нём на весь мир! Жаль БК не дали какому-нибудь заезжему "туристу".

GARNIZON
28.08.2021, 19:59
Рапира 1.2 теперь в архиве на сайте: http://agatcomp.ru/agat/Software/Other/Shkolnica.shtml
Не забудьте рассказать потом что и как.


И ДОС у Агата совсем ни ББС.

ЭЭЭЭмммм, а про какую речь?

ДОС у Агата та, которая загружена в данный момент, в том числе и ББС может быть.

Я напомню, в ПЗУ у Агата ничего нет, пусто, кроме мелкого сисмона (биос).
Все что будет играть роль ПЗу (в т.ч. ДОС и язык программирования) ЗАГРУЖАЕТСЯ С ДИСКА,
в т.ч. и область сисмона может быть подменена. В этом и гибкость.

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

На серийном Агате осей было более 10, все кроме вот той самой ранней вообще не имели общего с эпл дос.
Скажем интересующая вас ДОС "Школьница" написана с нуля и к США никаким боком.
А еще были оси, которые программисты писали специально для какого-то своего пакета, все равно ДОС загружается с диска вместе с пакетом.

С языками тоже самое. Это у эпл бейсик в ПЗУ сидит, а у агата нужный бейсик (их на агате несколько) загружался с диска.
Или вместо бейсика, на это место, ваша любимая рапира. Или вообще не язык, а другая полезная прога. Или назначить это место сплошным ОЗУ. Это кому что надо было.

А вы думали как Агат переходит из режима АГАТ в режим ЭПЛ? В область которая будет играть роль пзу загружается ЭПЛ сисмон, ЭПЛ дос, ЭПЛ бейсик и область закрывается для записи. Вектор теплого сброса и мы на экране видим приглашение APPLE ][.

Надо чтобы Агат изображал из себя ББС, нет проблем: http://agatcomp.ru/agat/Software/OsDos/Onix.shtml

Можно и Dendy, с поправкой на то, что у денди 6502 значительно быстрее работает, а еще надо видеопроц эмулировать.
http://agatcomp.ru/agat/Software/Graphic/Dendy.shtml

litwr
28.09.2021, 22:21
Благодарю Вас за Школьницу 1985 года. Позапускал там рапиру 1.2 - ошибки при вычислении 3^641 не выскочило. Попробую потестировать более тщательно попозже.
Неожиданно узнал, что шведский компьютер ABC800 (1981 г. выпуска) своим бейсиком в ПЗУ поддерживает арифметику длинных чисел и даже вещественных, до 125 знаков! Тоже была какая-то "атака мейнфреймов" :), шведы этот компьютер использовали вроде только у себя, ну и возможно некоторое количество пошло в близкие Данию и Норвегию. Держались максимально незаметно, так что и сейчас про этот компьютер мало кто знает. Хотя бейсик у него был возможно одним из лучших в мире. Предшественник ABC800, ABC80 (1978), также поддерживал длинные числа, но более примитивно.
76159

svinka
29.10.2021, 07:32
На этом теле-уроке Информатики 1986г. академик Ершов показывает Рапиру

https://www.youtube.com/watch?v=njDLNlWfWXE&t=1651s

Lethargeek
29.11.2021, 23:13
а тем временем на спектрум портировали пакет muLisp+muMath+muSimp
https://spectrumcomputing.co.uk/forums/viewtopic.php?f=3&t=5866
правда, код остался 8080 с очень небольшими переделками для z80