gudleifr писал(а):
Попунктно возражать не вижу смысла - к теме это отношения не имеет, но, конечно, любой задел в смысле пояснения "основных алгоритмов, которые в нем используются" и "давно рассмотрены во всех нюансах" можно только приветствовать. Ведь на Форуме обычно добавляют: "а раз они рассмотрены, то никому не интересны".
Это не такая простая (в смысле трудоемкости) работа. Что я понимаю под основными алгоритмами и подходами Форта:
1. Стек. Это известная вещь, не только в Форте.
2. Связанный список, он же linked list. Это менее известная вещь (поскольку стек - это все-таки push/pop и call/ret, поэтому пройти мимо стека программист просто не может). Тем не менее, и без Форта связанные списки имеют место быть.
3. Работа со строками в простейшем виде - выделение токенов по пробелам. Задача для школьника.
4. Структуры управления - известны в программировании. IF .. THEN и все разновидности циклов придуманы не в Форте, и различаются разве что деталями реализации.
5. Работа с памятью, устройствами, организация работы программы - существуют безотносительно Форта. Форт для Android в пп. 1 - 4 не отличается, а п. 5 таков, что программа на любом языке должна учитывать особенности аппаратной платформы и ОС.
gudleifr писал(а):
Взялся бы кто-нибудь книгу Семенова откомментировать, что ли? (Я, помню, ее тогда просто пролистал: мол, ничего особенно нового по сравнению с тем, что у меня, и нету. Может, что пропустил?).
А там и нет никаких особенных откровений. Просто систематическое изложение материала. Повторю, в Форте нет значимой научной составляющей, тут нечего исследовать в смысле чистого computer science. Можно просто пересмотреть эффективность основных подходов применительно к новым платформам/ОС. А то ведь не все еще согласны отказаться от поддержки блоков. Как же, это ведь в
Стандарте... А почему, зачем, что изменилось? Новые ОС/процессоры - это все не затрагивает фундаментальные основы, но очень даже меняет целесообразность тех или иных решений. Поэтому спонтанно появляющиеся вещи вроде "теперь будем все хэшировать" или "давайте напишем новый язык на Форте" - именно от отсутствия предварительного анализа и четкого указания на точку, в которую нужно ударить, потому что с момента последнего приложения сил к этой проблеме ситуация была совершенно другая. Например: если что-то было сделано с обоснованием "потому что память адресуется блоками не более 64К", это очевидный кандидат на пересмотр. А если "давайте придумаем новую конструкцию управления", то основные команды процессоров-то не изменились. Это по-прежнему условный и безусловный переходы, и даже набор условий в принципе одинаков везде.