Каллисто vs Бейсик

: TEST 10 FOR I . NEXT ;
10 FOR I=10 TO 1 STEP -1
20 PRINT I;
30 NEXT

Итого получаем три строки на Бейсике и одну каллистянскую строку. Каллисто можно использовать даже на однострочном индикаторе, при этом обозревая весь код целиком. На индикаторе МК-161 можно отобразить относительно сложную программу целиком, состоящую из нескольких слов — или существенный участок кода.

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

С Паскалем, где нужно делать begin/end и объявлять переменные, результат ещё хуже получится. Удобный входной язык калькулятора должен быть компактным, разработанным именно под эту задачу. Такой язык может быть разработан на основе уже существующих (Каллисто использует Форт, RPL Лисп), в том числе на основе Бейсика, Питона или Оберона. Но это не механический перенос, особенно если выбранный язык многословен.

Конечно, сложно соревноваться с Фортом по лаконичности экрана.
Если есть желающие собрать Каллисто или другой какой Форт под Ардуино - могу проверить на "недокомпьютере"

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

не должно составить особой проблемы и чем его укомплектовать (теоретически)
Например
amForth http://amforth.sourceforge.net/
Flash Forth http://flashforth.com/
Очередной Форт для AVR http://fforum.winglion.ru/viewtopic.php?f=39&t=2797
...
P.S. Но, ньюансы, конечно могут быть если кристалл не так популярен. Проверить работоспособность сбокрки можно и в Proteus (но там не работает самопрограммирование, если не исправили). У меня сейчас нет подходящих плат с AVR. Когда собирал amForth для Atmega162 оказалось критическим где расположить секцию бутлоадера.
Вот даже подходящая тема на Форт форуме есть http://fforum.winglion.ru/viewtopic.php?t=2618
amForth залить в железку :)
А здесь ещё одно халиварное обсуждение Форт с amForth стартом
http://forum.easyelectronics.ru/viewtopic.php?f=4&t=14783
Есть для AVR и самописный ассемблер http://www.forth.org.ru/news/Форт-ассемблер для AVR

atmega328p одна из самых популярных сейчас, судя по количеству клонов Arduino UNO и NANO с алиэкспресса.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

поэтому с заливкой Форт не должно быть проблем, но ещё из библиотек надо добавить
поддержку индикатора или сразу или потом через терминальный интерфейс (в ручную или потоково)
У меня сейчас платы с STM32 боле-менее опробованы, а для AVR подходящий программатор где то затерялся :) (это, конечно, всё мелкие заморочки)
хотя плата с зашитым amForth осталась. Но для инструментальных систем в кристалле лучше брать плату с более жирным кристалом, хотя Atmega328 для Форт вполне достаточное решение. Была Arduino nanо, но с ней что то пошло не так (нужно вспоминать:) и сейчас где то осталась.
На плате с Atmega162 добавлял по схеме ещё и возможность подключения дополнительного ОЗУ и не конфликтное "одновременное" обращение к дополнительному кристалу расширения портов (типа 580ВВ55 :) селектируя сигнал ALE (схему полученного решения можно добавить здесь, если не потерялась)

P.S. Вот ещё тема по amForth на робофоруме http://roboforum.ru/forum58/topic4406-60.html

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

for i := 1 to 10 do writeln(i);
ДЛЯ X ОТ 1 ДО 10 :: ВЫВОД: X ВСЕ;

или так

1 -> X; ПОКА X <= 10 :: ВЫВОД: X; ВСЕ;
for (var i = 1; i <= 10; i++) cout << i;

Для любителей эзотерики могу и на SQL

with x (n) as (select 1 union all select (x.n + 1) n from x where x.n < 11) select * from x;

(loop for i from 1 upto 10
do (print i))

По фортовски было бы:
FOR i FROM 1 TO 10 DO
i PRINT

Может какой нибудь прямой Форт создать, где функции пишутся сначала, а аргументы запихиваются в стек следом ? :-)

Сперва изучите существующий Форт, потом уже давайте советы по его совершенствованию.

146% высказываемых вами претензий к Форту вызваны глубоким невежеством, которое лечится за две недели, проведённых вами за партой. С вашим современным знанием вы напоминаете капризничающего годовалого ребёнка, который предлагает родителям, чтобы все взрослые ходили на четвереньках, т.к это ему удобней, чем балансировать на двух ногах. До уровня, где начинает проявлять себя разница между стометровкой и марафоном, ещё очень далеко.

В Форте с самого начала есть разнообразные циклы и ветвления, это структурный язык высокого уровня — который развивается под задачу. Сохранение словаря позволяет реализовать на основе Каллисто хоть специализированный финансовый, хоть научный калькулятор, хоть заточить его под любую индивидуальную задачу от налоговых вычетов России до моделирования движений небесных тел. Это если уже реализованного «из коробки» набора функций МК-61/МК-161 не хватает.

Запускаться такая специализированная система будет также, как любая другая программа для МК-161 или даже сразу по включению ЭКВМ. Если вам лично так нужна инфиксная, префиксная записи (подсказка, 99% фортеров обходятся без них) или поддержка именованных аргументов функций, их реализация давно опубликована. Можете настроить среду под ваш изысканный вкус и рекомендовать получившееся тем, кто также ленится изучать и использовать проверенные инструменты — сохранившиеся в Форте именно благодаря их удобству и практичности. :)

Вы ошибаетесь. Все "советы по его усовершенствованию", я взял из около фортовской же среды и его реализаций, где кое что из этого было реализовано. То что у вас там есть пародия на строки и массивы - не делает их строками и массивами, пародию на структуры я тоже видел, очень смешно. Чтоб вам всю жизнь с такими "структурами" программировать. Видимо вы любите однострочники, а реальные задачи куда сложнее ! Собственно поэтому классический Форт и канул в небытие, потому что с таким набором концепций можно привлечь только маргиналов, которые вам и на ассемблере всё что угодно напишут. И конечный юзер пошлёт вас в лес с вашими пародиями на строки, массивы, матрицы, и прочие структуры. Концепция словарей выглядит красиво, только в сравнении с неуклюжими языками прошлого, а сегодня она больше вредит, чем помогает.

Опять вы со своей Семиковщиной "жрите что дают, на самом деле это круто и красиво" ? Форт крут на базовом уровне, а вот выше уровнем мне он нафиг не нужен со своими недоделанными концепциями, выше уровнем ожидается что то вроде Common Lisp или RPL, где всё что надо для программирования уже было реализовано на низком уровне. Не хочу знать ни о каких словарях, хочу нормальные пространства имён или пакеты, хочу знать типы объектов, хочу нормальные строки с полным набором операций над ними. Хрень вроде ." Это якобы строка" не катит, извольте реализовать reader для считывания строк и прочих литералов в удобной форме !

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

P.S. Большая часть этих "маргиналов", российского происхождения.

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

P.S. Большая часть этих "маргиналов", российского происхождения.

Какие-то бездумные НЛПшные тезисы написали в ответ.

1. Фортер это программирующий на Форте. Хочешь быть не фортером, а лиспером — ну программируй тогда на Лиспе, а не на Форте. Эта тема вообще о Каллисто и Бейсике. При чём тут Лисп?

2. Однострочники со строками будут, если бы тип данных строка уже был в Каллисто. Тут как раз вы «любите однострочники» (и в этом ничего плохого нет), если просите расширить поддержку строк в ядре.

3. Да, на Форте своя обработка строк и структур. И даже несколько реализаций есть. Она отлична от того, к чему привыкли вы. Но фортеры пользуются, пишут и простые, и серьёзные программы, в том числе коммерческие — у многих уже сложились свои предпочтения.

4. Не надо забывать, что Каллисто это надстройка над МК-161, где даже букву ввести с клавиатуры было нельзя. Стрелочками на экране выбирали. По мере выявления предпочитаемых подходов те или иные расширения войдут в ядро — или будут использоваться вообще без моего вмешательства.

5. Форт никуда не «канул», ни в какое «небытие». Мне Форт нравился всегда. Программисты на Форте всё то время, что вы посвятили другим делам, зарабатывали с помощью него и развивали, оттачивали свой профессиональный инструмент. Сейчас идёт активная, хотя и без лишней спешки, подготовка важного стандарта — и он в Каллисто учитывался.

6. Никто не заставляет «жрать, что дают». У кого есть видение и ресурсы, тот свои идеи воплощает и предлагает окружающим. Мне нравится лаконичный входной язык, расширяющий входной язык любимых ПМК. Я его хотел видеть и реализовал. Можно запустить, например на эмуляторе, и ознакомится. Если у вас есть видение по Лисп-машине — реализуйте, мы и на это посмотрим. Можете оплатить труд программистов, если сами лично воплощать свои мысли не умеете.

7. Словарь это азы Форта. Сейчас, кстати, они называются «списки слов» (WORDLIST) и Каллисто развивается в этом направлении. Попробуйте сказать учителю английского языка, что не хотите изучать, как пользоваться словарём. Или учительнице математики, что хотите прожить жизнь без таблицы умножения.

Кстати, Каллисто в этом смысле милосердней других дисциплин. Если вы хотите просто производить вычисления, как на калькуляторе, никакое знание структуры словарной статьи вам не потребуется. Даже BUILDS-DOES доступен чайнику, см. соответствующую страницу Руководства. Просто вам профессионально забила голову своими «пространствами» другая школа программирования, Страуструпа и AT&T — в классово чуждых лапах которой куда больше денег, чем у форт-сообщества. Состоящего из небольших компаний и талантливых одиночек.

Фортер это программирующий на Форте. Хочешь быть не фортером, а лиспером — ну программируй тогда на Лиспе, а не на Форте. Эта тема вообще о Каллисто и Бейсике. При чём тут Лисп?

Лисп при том, что сравнение барсика и форта возникло в контексте пригодности этих языков для ПМК, так вот Лисп куда лучший Бейсик и Форт, просто он более требователен к ресурсам. Что в прошлом веке было проблемой. Ещё Лисп хуже Форта в плане длины идентификаторов, считается, что чем длинней, тем понятней. Ясное дело, что на ПМК с небольшим экраном и клавиатурой - это очень вредно. Противопоставлять Лисп и Форт глупо, т.к. у них достаточно много идиологически общего, не даром RPL будучи по сути Фортом назывался Лиспом с обратной польской нотацией :-)

Да, на Форте своя обработка строк и структур. И даже несколько реализаций есть. Она отлична от того, к чему привыкли вы. Но фортеры пользуются, пишут и простые, и серьёзные программы, в том числе коммерческие — у многих уже сложились свои предпочтения.

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

4. Не надо забывать, что Каллисто это надстройка над МК-161, где даже букву ввести с клавиатуры было нельзя. Стрелочками на экране выбирали. По мере выявления предпочитаемых подходов те или иные расширения войдут в ядро — или будут использоваться вообще без моего вмешательства.

Я начинаю понимать откуда этот сыр-бор. Вы то печётесь о своей Каллисто, на сдохшей платформе МК-161. А я вот думаю о том, что можно сделать на новых платформах, чтобы оно понравилось обычным смертным людям (не фортерам-лисперам) и было достаточно гибко для программистов. Не воспринимайте критику низкоуровневости Форта или каких то концепций как критику Каллисто. Каллисто как "классический" диалект Форта никто не призывает изменять или улучшать.

5. Форт никуда не «канул», ни в какое «небытие». Мне Форт нравился всегда. Программисты на Форте всё то время, что вы посвятили другим делам, зарабатывали с помощью него и развивали, оттачивали свой профессиональный инструмент. Сейчас идёт активная, хотя и без лишней спешки, подготовка важного стандарта — и он в Каллисто учитывался.

Ну ладно, если вам так тяжёло смотреть правде в глаза. Он упал в мааааленькую нишу, из которой ему никогда уже не выбраться в "классическом" виде (как и Лисп). Даже на ПМК классический Форт вряд ли можно использовать, юзеры вас линчуют.

6. Никто не заставляет «жрать, что дают».

С этим согласен, если вспомнить, что вы говорите главным образом про Каллисто для МК-161, а я о неком "языке подъёма" для нового ПМК. Ничего про МК-161 сказать не имею, там пусть хоть чёрт в ступе будет, эта платформа (МК-1XX) для меня сдохла, а для вас и других может быть ещё жива. Не будем спорить, юзер/потребитель рассудит рублём.

7. Словарь это азы Форта. Сейчас, кстати, они называются «списки слов» (WORDLIST) и Каллисто развивается в этом направлении. Попробуйте сказать учителю английского языка, что не хотите изучать, как пользоваться словарём. Или учительнице математики, что хотите прожить жизнь без таблицы умножения.

Да знаю я про эти ваши словари. Причём тут английский язык и словари языков ? Для чего вы эту кривую аналогию приплели. Кроме "слова" и "словаря" ничего общего нет. А уж таблицы умножения то каким боком ? Давайте ещё про матрицы и кватернионы ляпните для красного словца :-)

Я вот не хочу жить без строк, структур, массивов и т.п. А без этих ваших "словарей" легко проживу, до сих пор выживал без них и думаю дальше только лучше будет :-) Это красивая на первый взгляд концепция плохо масштабируется, является низкоуровневым хаком и, видимо, в основном ограничивает развитие Форта во что то более высокоуровневое. Наверное фортеру это слышать обидно, как и лисперу про то что от макр больше зла, чем пользы. Но я то уже переболел, научился смотреть со всех сторон. Фактически Forth и Common Lisp сильно устарели и не так удобны для промышленного программирования, как более новые языки, которые были выращены в том числе на их основе.

Просто вам профессионально забила голову своими «пространствами» другая школа программирования, Страуструпа и AT&T — в классово чуждых лапах которой куда больше денег, чем у форт-сообщества. Состоящего из небольших компаний и талантливых одиночек.

Кстати вас здорово выдаёт, что при слове "пространство имён" вы вспоминаете именно "Страуструпа и AT&T". А это всего лишь частичное совпадение знакомых слов. Под пространствами имён я имел в виду более широкое понятие, которая легко поглощает и ваши любимые словари, только в Форте ими управляют вручную, а в более современных языках они работают прозрачно, без грязных хаков. Это не другая школа программирования, это выросшая из пелёнок школа программирования, пригодная для больших проектов, в отличие от (классического) Форта.

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

У вас очень эмоциональное отношение к инструментам. То МК51 не нравится, то теперь словарь на мозоль наступил. Это как отвергать рубанок и стамеску, как «слишком низкоуровневое» и хвалить 3D-принтеры последнего поколения — остальные «устарели».

Форт — надёжный инструмент, который используют те, кто овладел им. Словарь это аналог namespace Страуструпа или списка слов из Лиспа. Конечно, со своими особенностями. И программисты на Форте тоже вполне себе проживут без лисповских списков и пространств имён.

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

Шаг влево, шаг вправо от школьной программы
способен привести к коллапсу мозга головы. :)
и это с приходом массовых интернет техноогий, похоже, только усугубляется.
Сколько искуственно выстроенных систем "обрушивается" на конечного разработчика.
Бейсик уже никто и не готов даже рассматривать.Удержаться хотя бы в тренде для вступающих в IT людей.

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

Сколько не щупал его, никакой механики там не было, всё самому надо ручками ручками :-)

Разница в том, что на Каллисто приведена программа полностью — с заголовком и всем необходимым обрамлением, а не одна цитата из неё. Такой паскалевский код

for i := 1 to 10 do writeln(i);

выдаст на реальном компиляторе сообщение об ошибке. Переменная i не определена. Нет заголовка программы с begin end.

Заработает, если не заниматься религиозным воспроизведением синтаксиса 50-летней давности. В реализации Паскаль-скрипта никто не мешает использовать динамические переменные и типизацию.

О том и разговор. Язык для калькулятора должен быть компактным, а не воспроизводить механически язык для десктопа. Основывать его можно хоть на Лиспе (RPL), хоть на Форте (Каллисто), хоть на Паскале или Питоне. Хотя конкретно в виртовском семействе я рекомендую Оберон — туда вложено больше мысли и труда, чем в устаревший Паскаль.

Качество разработки Оберона и Объектного Паскаля несравнимы — как несравнима квалификация людей, участвовавших в разработке этих языков.

Если посмотреть на мутировавший HP Basic на HP Prime, то с экранчиком всё в порядке, даже BEGIN END помещаются вполне. Так что хотелось бы, если уж делать не 2 строчный экранчик, чтобы конечный язык мог побольше, чем организация циклов задом наперёд и чтобы это был не "write only" синтаксис, в который так стремится выродиться любая Форт программа :-)
Для читабельности ИМХО критически важно, чтобы ключевые строительные блоки программы были чётко различимы глазом. Это значит циклы и ветвления должны быть хорошо понятны. Потом у Форта эта черхарда со стеком сильно напрягает, фиг разглядишь, кто кому и почему что передаёт, не уверен, что конечному юзеру надо оставлять прямую работу со стеком, это слишком всё уродует.

алиэкспресс превзошел самих себя.

В 4х строках ВАСИК должен быть вполне терпим

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

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

Стоит 3.45 евро. Терпимо, учитывая, что все должно сразу заработать из коробки, без переделки софта.

Экономия батарейки и другие аспекты портативных устройств пока не входят в список необходимостей "недокомпьютера"

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

а вообще для чего их используют ??? Если эти экранчики - устаревшая элементарная база, почему она такая дорогая ? Вроде как ЖК большие дешевле и они ещё цветные и графику умеют показывать. В чём подвох !!!

такие экранчики стоят. Ну, или похожие экранчики.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Единственное что на ум приходит.

Когда я на химкомбинате работал, мы регулярно в операторские захаживали, так там кроме основных компьютерных мониторов на столе оператора, на самом щите управления как раз одни двух и четырёх строчные ЖК индикаторы стояли, причём оборудование было нового образца после модернизации! Программировать такой индикатор намного проще, чем цветной графический экран, занимает мало ресурсов, а главное - контрастность позволяет человеку с хорошим зрением с пяти метров увидеть что он показывает. Я экспериментировал с российским MT16S2D символы действительно яркого чёрного цвета, на голову выше чем у ЖК экрана с телефона. Дороговизна, я думаю, из-за (поляризаторов?) ЖК панели, заявленный температурный диапазон +70...-20 я пробовал замораживать платку с индикатором в морозилке - ЖК индикатор работает нормально!

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

: Test 0 DO I . LOOP ;
10 Test
20 Test

: Test IF ." true" ELSE ." false" THEN ;
1 Test
0 Test

P.S. Покажите хотя бы это на Бейсике.

Покажите лучше такое (см.ниже) на Каллисто и чтобы список был произвольного размера, на сколько памяти хватает и чтобы потом можно было добавить ещё 2-3 других списка, не переделывая сильно программу:

lists()
:Prgm
:  Local i,c
:  {}→list
:  i->1
:  Loop
:    Input "Enter -1 to finish. Variable #"&string(i),c
:    If c==-1
:       Exit
:    c→list[i]
:    i+1->i
:  EndLoop
:  Disp "Number of elements:" & string(dim(list))
:EndPrgm

Использование списков в Форте тоже не представляет никаких сложностей.
Есть разные библиотеки на любой вкус, если самому немого подумать и сделать лень.
Не обращаться же за каждым "чихом" к производителю инструмента и ждать реализацию нужного синтаксиса и семантики в нём.

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

Это пустая трата времени.

Конечно мне бесполезно рекламировать ваш любимый Форт, хоть он и не нуждается в рекламе. Я то для себя уже определил границы его применимости и индустрия давно уже всё определила. Не понимаю, с чего вам обижаться на то, что люди не хотят писать на ПМК на галимом Форте (пускай вы приложите 1000 библиотек) ??? Разве не очевидно, что программирующий пользователь, да и разработчик более высоких уровней (например CAS) не хочет тра..аться с этими велосипедами, а хочет чтобы некий минимальный языковой уровень уже шёл с батарейками в комплекте !!! МК уже предлагали в галимом виде, мол сами пишите программы для визуализации графиков и пользовательский интерфейс к ним. Теперь голый Форт что ли хотите распространять, я могу сразу предсказать чем это кончится :-)

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

P.S. ПМК и Компьютер- это разно идеалогически устройства и не надо думать, что кто ими сможет пользоваться будут хотеть всё что предлагается из классического программирования.
Всевозможные библиотеки могут быть в доступном варианте и с подробным изложением, без необходимости даже самому что то делать подобное.
Например amForth в своём репозитории уже накопил базу всевозможного кода как от разработчиков так и сформированную пользователями amForth и если там чего то нет с Вашей точки зрения, то может оно пока не потребовалось ни разработчикам системы ни конечным пользователям её.
Даже необходимость использования списков должна быть важна для пользователя калькулятора и продемонстрирована ему, а не абстрактная инициатива разработчика калькулятора.
В идеале тогда пользователь должен обратиться к руководству пользователя и ввести одно волшебное слово
по решению его задачи, а разработчик припасти все эти волшебные слова в арсенале библиотеки.
А если пользователь нашёл реализацию нужного ему алгоритма на X языке, а сам её не может перенести в чужеродный язык Y для этого ПМК тогда что?

P.S. Пока Вы пытаетесь от своего лица озвучить общее мнение, но общее мнение формируется из рассмотрения разных точек зрения!

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

Мне очень понравился amForth на Atmega328, правда со сборкой его новых версий (я хотел чтобы всё собиралось из исходников) возникли какие то проблемы. Часто после сборки он или отказывался работать (не появлялась ком.строка) или в нём недоставало каких то слов, которые обычно включались в стандартную поставку. Потом эти поломки API сделали невозможным нормально воспроизвести даже те примеры, которые шли с самим amForth. В общем у меня получалось очень быстро привести его в негодность и назад он уже не оживал, пробовал сохранять словарь в некой точке, не помогло. И вообще хотелось бы лазить по словарю и выбрасывать оттуда слова избирательно, компактизировать словарь после множественных удалений и т.п., но из коробки было в лучшем случае итерация по словам. Вроде полный контроль над системой, а не так то легко собрать то что надо.

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

Вы правильно вроде бы мыслите ИМХО, но ошибаетесь в результатах. Пользователи ПМК(ЭКВМ) хотят СПЕРВА именно привычных им классических современных концепций программирования и меньше всего они хотят разбираться в эзотерических понятиях какие бы крутые и полезные они ни были. А уж когда они осилят базу, они будут хотеть её нарастить и углубить!

Уверяю, большая часть людей (включая даже программистов), выберет для дела то, чем можно сразу пользоваться, а не тра...ся стоя в гамаке, заливая какие то библиотеки и пытаясь привести в чувство списки, которые можно подключить, но как подключить надо читать руководство. Юзер взглянет на пару примеров на TI Basic и т.п. и ему станет всё ясно без слов, потому что эти концепции ему известны и близки. И уверяю, он наплюет на всю крутость вашего базового языка, если вы заставите его собирать себе калькулятор из разных библиотек.

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

В этом и преимущество фортовской линии наследования Каллисто — можно переносить на ЭКВМ библиотеки, уже написаннные на Форте.

Я занимался только транслятором, само по себе большая задача. Но, чтобы проверить это утверждение, перенёс на Каллисто редактор экранов, написанный в 1980-лохматом году. Если вам нужны списки или какие-то необычные операторы управления или даже ООП — этого много для Форта уже сделано и легко гуглится.

Из коробки Каллисто делает следующий шаг, после входных языков МК-61 и МК-161. Большинство критики ЭКВМ было учтено и исправлено — мы даём переменным имена, не надо помнить адреса переходов. Можно было бы много добавить в ядро сверх того, но это уже потребует «железа» следующего поколения. Сейчас кому нужны списки, добавляет их в свой словарь самостоятельно, т.к. другим владельцам ограниченная память МК-161 может потребоваться, например, для численного интегрирования.

Это всё хорошо, но многие вещи из 1980-х могут оказаться мягко говоря не нужными в 21-м веке. Про имена переменных - это была не критика ЭКВМ, это была критика языка МК, который Семико не хотело модифицировать. Модульность языка - это хорошо, но из неё вытекает необходимость лепить колхозные пародии на нормальные синтаксические конструкции. Хотелось бы чтобы после подключения нужного "словаря" просто появлялся нормальный синтаксис для считывания концепций, которые добавляет "словарь", типа чтобы массивы адресовались через квадратные скобки, списки создавались фигурными скобками, строки чтобы ограничивались обычными кавычками без всяких точечных слов и пропусков и т.п.

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

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

Наоборот, я встречал отзывы профессиональных фортеров, что садясь за Си, они там реализуют WORD –TRAILING ENCLOSE, т.к. им так работать со строками и входным потоком удобней и привычней.

Да кто покушается на этот самый Форт, он как начальный языковой уровень для железки очень даже хорош. Как то раз я начал изучать что там и как и много думал над фортерскими реализациями всяких концепций и пришёл к выводу, что не тянет он их по настоящему, получаются недоделанные пародии на строки, структуры и т.п. Как кстати и в Лиспе, без поддержки умного компилятора. Игрушка зашибенная, тут ничего не скажешь, но с его подходом далеко уехать сложновато, лучше поднимать уровень, как минимум до некого форто-лиспа, а там может быть даже ещё более дубовей, но с большей автоматикой (в сторону функциональщины и проверки типов).
Для задач, которые ожидаются на ПМК нет никакой необходимости всё время лазить на начальном уровне, думать про какие то словари, выделения памяти и прочие хрени. Гораздо приятнее оперировать функциями, структурами данных, всякими замыканиями и т.п., да ещё чтобы при генерировании каких нибудь языковых конструкций оно могло проверить валидность. При этом "низкий уровень" тоже сохранить! Если бы это было возможно на классическом Форте, к этому моменту это уже давно бы реализовали, получается при таком базовом наборе не получится вырваться из рамок Форта к более высокоуровневому языку ! Похоже придётся туда добавлять некие чуждые для классического Форта концепции, типа ридеров (более на Лисп похоже), поддержку сборщиков мусора, нормальную нотацию для всего: структур, списков, строк и т.п. Пускай это будет язык, который будет транслироваться в базовый Форт, но он уже не будет тем самым Фортом в рамках которого вы призываете оставаться !!!

Кто здесь призывает к «оставаться в рамках» «базового Форта»? Только у вас какая-то ненависть к основам. Ассемблер начали зачем-то критиковать, совсем по-детски.

Сейчас действительно строится фундамент. Без которого нельзя построить первый, второй и дальнейшие этажи. Изливать ненависть на фундаментальные вещи, искажать слова собеседника, что ничего кроме основы строить не предлагается — к чему всё это? Чтобы всё развалить?

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

Можете и свои лиспоподобные библиотеки писать, кто вам мешает? Хоть с нуля, хоть поверх Форта. Но как в любом обществе кроме рафинированной интеллигенции есть рабочий класс, так и в любой компьютерной системе есть нижний уровень с машинным кодом. Разработчики компиляторов, не важно Си это, Форт или Лисп, занимаются ассемблером в том числе — в том числе, чтобы прикладник мог работать на языке задач. А кривят нос малолетние идиоты какие-то. Хуже, когда такие «ненавистники нижних уровней» получают обманом доверие тех, кто распределяет бюджет.

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

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

А кривят нос малолетние идиоты какие-то. Хуже, когда такие «ненавистники нижних уровней» получают обманом доверие тех, кто распределяет бюджет.

Прекращайте истерику! Я где то сказал, что низкого уровня вообще не должно быть или что ассемблер надо изжить ? Уверяю, вам не получить НИКАКОЙ бюджет, предлагая всё писать на вашем "рабочем классе". С какого перепуга пользователи ПМК стали "разработчиками компиляторов" ?
Помнится Семико сокрушалось, что маркетинг - это продажная девка империализма и что никто не хочет понять их гениальной, лишённой рыночного смысла, задумки - сделать калькулятор для никого конкретно.

Повторяю. Никто на вашу Каллисту не покушается, даже наоборот она может быть отличным базовым уровнем. Я лишь говорю о необходимости в конечном устройстве иметь уровень выше "рабочего класса", который скорее всего будет вести себя совсем не как Форт, а они оскорбились как будто я пришёл у них отобрать любимый Форт :-)

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

И подход уважаемого KPG, чьи знания и опыт работы с Фортом гораздо больше моих, поможет вам освоить азбуку Форта — после чего ваше мнение в этой области можно будет если не уважать, то хотя бы понять. Но это будет лет через пять, когда вы «через нехочу» продерётесь черезо все его наводящие вопросы и индивидуально составленные примеры.

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

Повторюсь, Форт отличается от других языковых семейств. Это не делает его сложнее или «низкоуровневее» (в вашей индивидуальной псевдо-терминологии). Наоборот, он даже проще в изучении для тех, кто уже владеет советскими ПМК. При этом удобней и позволяет решать более сложные задачи за меньшее время. Это как японский язык — для тех, кто уже овладел в совершенстве китайским.

Вам бы хотя бы ещё одну книгу прочитать, а то та одна что вы читали, была только про Форт, видимо ограничивает ваш кругозор, не позволяя увидеть, что втирание лапши по поводу эзотерических волшебных свойств языков - это давно уже дурной тон :-) Низкоуровневость - это не моя "индивидуальная псевдо-терминология" - это ваш пробел в образовании, т.к. более устоявшегося термина в программировании и найти то сложно. То что оно якобы позволяет "решать более сложные задачи за меньшее время" расскажите 99.9999% разработчиков не на Форте по всему миру, которые вам обоснованно не поверят. Слышал я эту песню не раз.

Я же говорил, занимался Лиспом, так лисперы обычно выкатывают ЭТОТ ЖЕ САМЫЙ аргумент, якобы Лисп так крут, что прям заруливает все остальные средства, на практике же это в лучшем случае позволяет быстро написать плохо работающий велосипед, пока все остальные долго и дорого строят авиалайнеры и космические корабли (это касается деятельности фанатов, современные реализации вполне позволяют построить что угодно). А так да, Лисп отличный язык и Форт отличный язык, непревзойдённые в своей нише - но серебрянной пули нет! Ни Форт, ни Лисп, ни Питон, ни новейший стандарт С++ или C# не завоюют всю галактику, т.к. чем выше уровень, тем больше специализация, чем ниже уровень, тем более трудоёмкий процесс создания действительно сложных проектов.

Для калькуляторных дел Форт практически идеален (не даром его взяли в оборот в HP) и реализовали RPL. Но, повторюсь, ближе к юзерскому уровню надо из него делать ВЫСОКОУРОВНЕВЫЕ языки (конечно с возможностью наращивания, макрами и т.п.), чтобы пользователь мог заниматься расчётами, а не тасованием всяких низкоуровневых концепций. Высокоуровневость, это вовсе не какой то комплимент языку и не синоним его превосходства над низкоуровневыми языками - это степень упаковки абстракций и степень приближения нотации к человеческой, как правило ценой быстродействия и траты прочих ресурсов, к тому же усложняется компилятор. Если вам для создания каких то изящных решений нужен полный контроль над системой, то юзеру требуется удобство: алгебраическая нотация для формул, наличие готовых матриц, массивов и т.п., наличие набора готовых операций над этими сущностями, возможность не только заводить свои переменные, и прочие программные сущности, но и контролировать ошибки при их использовании. Что толку от примитивной реализации инфиксной нотации, в Лиспе тоже такая есть, если это всё плохо стыкуется и вынуждает юзера использовать какой то специфичный синтаксис !

Если я так не прав, покажите мне на Форте полностью полноценный самодостаточный юзерский язык программирования аля Basic, реализованный поверх Форта !

Дело не в том, что Форт (или ваш любимый Лисп) «круче» остального. Дело в том, что вы в нём не разобрались. Поэтому беседовать с вами на эту тему не интересно — это всегда спор компетентных людей с вашими личными фантазиями о Форте.

Язык низкого уровеня в общепринятом смысле это работа с железом. Когда команды исполняются аппаратно. Первый язык высокого уровня Фортран даже не был структурным. Это уже потом пошла классификация ЯВУ на структурные, функциональные, логические и т.п. Наличие библиотек для обработки, например, матриц не относится к признаку ЯВУ. Также нет требования, чтобы ЯВУ был доступен неспециалисту — так, как айфон, например. Язык высокого уровня приходится изучать и добиться умения на нём писать занимает некоторое время.

Вы всё ещё находитесь под воздействием Лиспа и участвуете в студенческой «битве языков», пытаясь найти лучший или доказывать окружающим, что такого нет. В обществе людей, кто начал программировать на советских ПМК в 1980-ых годах и за эти десятилетия прошёл через множество поколений языков, вам надо научиться вести себя скромнее.

Форт был выбран для МК-161 не из тех соображений, что он «серебряная пуля» (выражение, относящееся к совершенно другой проблеме менеджмента) и «так крут, что прям заруливает все остальные средства». Форт

  1. Позволил расширить синтаксис входного языка МК-61/161 в нужную сторону, максимально сохранив совместимость. Именно об этом я написал «решать более сложные задачи за меньшее время» — удобней в сравнении с МК-61, а не Лиспом, Си, Бейсиком, Обероном и т.п.
  2. Достаточно неприхотлив, чтобы его удалось успешно реализовать поверх входного языка МК-161.

На Форте написаны трансляторы и Бейсика, и Паскаля. Всё это можно нагуглить для вас, конечно. Но не интересно, т.к. не относится к обсуждаемой теме. Не владея Фортом вы, увы, не в состоянии логично вести беседу. Ваши попытки строить уровни «поверх Форта» сейчас невозможно воспринимать всерьёз. Вы недостаточно компетентны для подобной работы и не обладаете деньгами, чтобы оплатить её. Ваша мотивация — вам кажется более дешёвым не освоить незнакомый вам язык, а эксплуатировать программистов, чтобы они бесплатно подогнали его к единственно вам знакомому Лиспу.

Моему брату в детстве казалось сложным выговаривать слово «конфета», и он приучил взрослых говорить «ка-ти», когда мы с ним общались. Вот так сейчас и выглядят беседы с вами на тему Форта и вообще ЯВУ — глухой парень, желающий поучать специалистов. Даже не буду публиковать вам рекомендуемый список книг на тему Форта, т.к. бесполезно. Доказывать «правоту» своих иллюзий о Форте вам, увы, интересней.

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

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

В чём же моя, как вы выражаетесь некомпетентность ? Вы уже в который раз обвиняете меня в незнании Форта и т.п., но не указываете конкретно, в чём именно я не прав. Что же я "указываю профессионалам" ??? (отсылка "кто на нас с профессионалами!"), говорите за себя пожалуйста, я ведь не приплетаю к дискуссии #весьмир или #самыхкрутыхрусскиххакеров! Вопросы уровней языков мы сейчас разберём, чем отличается встроенная в язык поддержка и библиотеки, тоже. Надеюсь это не все ваши претензии, иначе к чему эти настойчивые отсылки снова читать книги по Форту ? :-)

Язык низкого уровеня в общепринятом смысле это работа с железом.

Но это самое узкое понимание. Язык низкого уровня - это язык, который ближе к железу по сравнению с языком более высокого уровня, а не обязательно "работа с железом". По вашему, ассемблер JVM - это не язык низкого уровня? :-) Ведь JVM - это не (совсем) железо.
Стесняюсь спросить, читали ли вы про "парадокс Блаба" у Пола Грэма, и это не повод козырнуть знаниями - это для взаимопонимания, там просто описано понимание "уровневости" языков в рафинированном виде. Лисп он там высоко оценивает, потому что в нём (вроде как) можно реализовать всё что угодно за счёт метапрограммирования.

Например базовый Форт (тот что вам достался из коробки) "не понимает" алгебраических выражений и в этом плане он близок к некой "железной" реализации. Но если вы напишите транслятор алгебраических выражений, то это уже будет уровень выше, хотя сам базовый Форт от этого не станет высокоуровневым языком. В отличие от Форта, типичная реализация Common Lisp имеет гораздо более высокий уровень абстракции и, следовательно, базовый CL гораздо дальше от машины, CL не является "языком низкого уровня" по всем статьям и его трудно впихнуть в микроконтроллер и вообще куда либо, т.к. у него достаточно жирная среда выполнения. То что Форт - язык низкого уровня - это его преимущество. Ведь за счёт метапрограммирования и различных других механизмов Форта его вполне можно нарастить и до Лиспа и до другого языка, при этом оставаясь по возможности в рамках небольшого количества памяти.

Наличие библиотек для обработки, например, матриц не относится к признаку ЯВУ.

Зачем вы мне рассказываете про историю языков программирования и общеизвестные факты ? Я не говорил, что наличие библиотек для тасования регистров или участков памяти в качестве матриц являются признаком ЯВУ. Зато я уверен, что наличие матриц и специальных операций НА УРОВНЕ ЯЗЫКА неминуемо делают такой язык ЯВУ, сравните язык Matlab и ваш любимый язык МК, где матриц нет и не предвидится никогда (в отличие от HP 42s).

Также нет требования, чтобы ЯВУ был доступен неспециалисту

Не смотря на кажущуюся истинность этого утверждения, в контексте языка для ПМК оно абсурдно :-) При том что я не отрицал, что специалистам и хакерам платформы должно быть доступно всё под капотом, но конечный уровень то ОБЯЗАТЕЛЬНО должен быть доступен для большинства юзеров.

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

Я приведу одно только словосочетание, которое целиком срубит ваш аргумент - "НИЗКИЙ ПОРОГ ВХОЖДЕНИЯ". Как правило для языков высокого уровня начать что то делать и писать полезные вещи куда проще, чем для языков более низкого уровня.

Вы всё ещё находитесь под воздействием Лиспа и участвуете в студенческой «битве языков», пытаясь найти лучший или доказывать окружающим, что такого нет.

Зачем вы мне повторяете мои же слова про то что лучшего языка нет, я же сказал я ничего НЕ ИЩУ. Это вы оскорбились на "язык низкого уровня" и как ребёнок излучаете по этому поводу ненужные эмоции, избегая объективного технического анализа этого термина. Пытаетесь усмотреть в этом какой то негатив.

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

Арви, 1) Это вы мне про скромность говорите ? Отучайтесь говорить за всех, а то смахивает на размножение личности, вы ещё о себе начните говорить "мы, Арви-первый" :-)
2) Нашли, чем кичиться! А я что, не программировал на ПМК и не прошёл много поколений языков ? Может я вчера родился ? К тому же, чем вам могут помочь эти "много поколений языков", тут разговор о понятиях из компьютерных наук, а не практики использования каких то конкретных языков.

он «серебряная пуля» (выражение, относящееся к совершенно другой проблеме менеджмента) и «так крут, что прям заруливает все остальные средства»

Не, это выражение относится именно к той самой проблеме и не только менеджмента:

ни в одной технологии или в управленческой технике не существует универсального метода, увеличивающего на порядок производительность, надёжность и простоту (с) Ф.Брукс

Форт был выбран для МК-161 не из тех соображений

О чём вы опять спорите ? Насчёт применения Форта на МК-161 и вообще где либо - я ничего плохого не говорил, зачем вы повторяете мои слова насчёт эффективности и применимости (по крайней мере в таких условиях памяти, быстродействия и т.п.). Разве что быстродействие текущей реализации вынужденно микроскопическое, конечно лучше бы реализацию перенести на железо.

На Форте написаны трансляторы и Бейсика, и Паскаля. Всё это можно нагуглить для вас, конечно

С какого перепуга вы мне доложили эти "важные" сведения ? Если транслятор Бейсика и Паскаля можно написать на ассемблере, то уж на Форте то наверное тоже, вы меня хотели поразить этим фактом ? :-)

Ваши попытки строить уровни «поверх Форта» сейчас невозможно воспринимать всерьёз.

Да кто бы говорил. :-) Вы вообще слабо ориентируетесь в дискуссии, приводите бесполезные факты, вообще не понимая о чём разговор. Я подозреваю, что все ваши нападки на моё типа не знание Форта основаны на какой то выдуманной модели, в которую вы сами же и поверили. Например я хоть и подозреваю, но не могу с уверенностью полагаться на ощущения, что вы ничего не знаете о Лиспе и чем он так близок Форту (вроде как должны что то знать).

Вы недостаточно компетентны для подобной работы и не обладаете деньгами, чтобы оплатить её

Спасибо, что проинспектировали мою платёжеспособность! Легенды о вашей великой компетентности
уже обежали весь мир. Я слышал, что за свою карьеру, в дополнение к реализации Форта вы как то раз написали аж целую реализацию Бейсика (или Паскаля???) Учитывая, что у ваших реализаций, чуть больше 1.5 пользователей, я пожалуй не буду нанимать вас для столь важной работы :-)

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

Вы явно заразились паранойей у Степанищева. Мало того что вы не умеете читать, притягиваете за уши какие то выводы про Лисп и моё к нему отношение, страдаете манией величия (компетенции), но ещё и параноите на чистом месте. Повсюду мошенники и враги советской власти !

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

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

Библиотеку собрали по Форту, это хорошо. Но прочитайте хотя бы одну из ваших книг — чтобы понять, о чём речь. При разработке Каллисто активно использовались две книги, зачитанные до дыр — московская про Форт ИТЭФ и ленинградская про Форт ЕС. Одну из них я даже отправил Михаилу Рамедику в Ирландию, она помогла в написании Руководства по Каллисто. Прочитайте хотя бы одну из этих двух отечественных книг, сразу с вами будет другой разговор. Даже если все ваши родственники прямо из роддома уже правильно разговаривали на русском языке, не учась говорить в семье — чтобы хорошо программировать, литературу изучать всё равно надо.

Есть две замечательные переводные книги Льва Броуди, для начинающего пользователя и продвинутого. Возьмите их со своей полки и не просто пролистайте, а изучите.

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

Форт является ЯВУ, но порог вхождения у него высокий — если программист не владеет обратной польской записью. К счастью, владельцы МК-61 и МК-161 ею владеют. Как многочисленные зарубежные владельцы HP 50g и более ранних ПМК фирмы Hewlett-Packard. Именно в контексте ПМК и постсоветского пространства выбор Форта, как основы для Каллисто обеспечивает низкий порог вхождения.

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

Точно также стек (как дек, дерево и другие структуры данных) не являются «низким уровнем» — полно учебной и научной литературы, где эти высокоуровневые концепции компьютерных наук реализуются на Паскале и других ЯВУ. В Форте стек выбран, как важная часть ЯВУ и это его своеобразие. Это поддерживает, помимо прочего, лаконичность языка.

Доступ к средствам низкого уровня, тому же операционному стеку МК-161 и регистрам функций, в Каллисто присутствует. Но большинству разработчиков он не понадобится. В Форте действительно программисту предоставляют доступ к средствам реализации. Это его важная черта, за которую Форт любят профессионалы. И именно отсутствие в МК-161 «официального» доступа к нижнему уровню реализации было поводом для критики со стороны Арбинады.

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

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

В предыдущем своём сообщении вы утверждали, что Форт дескать высокоуровневый, потому что на нём были написаны трансляторы Бейсика и Паскаля. То же самое можно сделать на Си или вовсе на машинном коде. То что структура данных "Стек" реализуется на каком то ЯВУ не делает стек(и) Форта высокоуровневыми. Наоборот к этому стеку (стекам) много вопросов: например как обрабатывать плавучие числа и при этом сохранять общую эффективность системы. Фактически более менее приемлемого решения у Форта нет. Либо вручную тасовать разные типы чисел на разных стеках, либо тратить производительность на распознавание тэгов типов на универсальном стеке, как правило разрядность плавучих чисел требуется больше чем размер слова на Форт стеке, можно конечно пихать в два уровня, но запоминать куда что запихнуто...Может быть поделитесь из своего опыта 2-х книг как эта проблема решается ? Я спрашивал матёрых фортеров на общероссийском форуме и ответы не сулили ничего оптимистичного.

Форт хорош тем, что он лаконичный и простой. Но ручная работа со стеком создаёт больше проблем, чем даёт преимуществ. Метаязыковые же функции вообще не требуют ни шитого кода, ни стека для реализации. Реальность такова, что за всё надо платить и у всего есть граница применимости. Гибкость и лаконичность Форта на одной стороне и плохая масштабируемость, неважная пригодность для коллективной разработки, низкоуровневое ручное управление разными механизмами (стеком, памятью и т.п.) - на другой. Хотите поспорить ? Сравним количество того же научного софта для расчётов на Форте и других языках ?

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

«Форт дескать высокоуровневый, потому что на нём были написаны трансляторы Бейсика и Паскаля.»

Тупейшее высказывание. Эти две вещи друг с другом не связаны — трансляторы можно писать на ассемблере в том числе. Первые Бейсики, в недрах которых я копался в 1980’ых, были написаны как раз на ассемблере.

И да, Си это язык высокого уровня. Собственно, в том и было новшество Юникса — писать операционку на ЯВУ, а не на ассемблере. Важный этап развития компьютерных технологий.

При написании Каллисто использовалась целая стопка книг. Восемь из них указаны в исходном коде, строки 48-57. Две из них я рекомендовал вам, из сострадания к вашей компьютерной беспомощности.

Поскольку вы оказались безнравственным человеком и не просто приводите ложные аргументы, но ещё пытаетесь приписывать их собеседнику — беседу с вами прекращаю. «Ватники» это бандиты ЧВК «Вагнер», которые финансируются Евгением Пригожиным — тем самым «поваром Путина», кто также создал фабрику троллей и вот такими методами сеет ложь, недоверие в Интернете. Видимо, это ваш круг общения и в моём обществе вашему лживому брату делать нечего.

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

P.S. Владение разными "языковыми" базисами может приводить как восхитительным практическим решениям так и "непотребству", но не Вам судить автора данного решения, если оно интересно ещё кому то, кроме Вас.

Но есть и объективные факторы, которые не изменить. Код на не особо любимых мной Java, Python, etc. читается с листа легко практически при любом уровне владения. Код на Форте,Лиспе и других менее наполненных сахаром языков читается и понимается даже его профессионалами труднее, сказывается плотность упаковки абстракций и т.п. Это может быть хорошо для разработки чего то компактного и полезного, но совершенно плохое качество для входного языка ПМК !!! При чём я не уверен, что за краткость кода надо обязательно платить его понятностью. Более того, для каждой задачи хорош свой язык, если говорить о языках внутри языков. Например не оправдано писать формулы на базовом Форте, гораздо правильней было бы компилировать их в слова из привычной инфиксной нотации. Юзер не должен заниматься этими проблемами, все эти штуки должны уже быть "включены" из коробки !!! И этот уровень, где подключены и притёрты все части - это уже по сути будет не Форт, а некая система программирования реализованная на его базе. Почему вам такая постановка вопроса не нравится ? Форт то тоже никуда не денется !

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

Кто привык к Форту, читает код на Форте и фортоподобных языках довольно легко. Более того, код на Каллисто более понятен, чем код для советских ПМК — не в последнюю очередь из-за структурных операторов и возможности давать переменным имена.

Есть ещё один фактор, компактность кода. Решение задачи на Питоне займёт лист, на Си половинку листа, на Форте или Перле — несколько строчек. Их понимание у программистов, одинаково владеющих этими языками, займёт примерно одно время. Но страницу на Форте понять несколько дольше, чем страницу на Питоне — потому, что она реализует более сложный алгоритм. Это справедливо для всех компактных языков.