Veden12> Создал страничку.Вот эта страничка. И там выкладывается
перевод книги "Шитые интерпретативные языки" Р.Ж.Лёлигер.
В ней рассказывается, как в 1978 году автор, получив в свое распоряжение микрокомпьютер и узнав про FORTH начал писать свой TIL (шитый интерпретативный язык). Впрочем, у него получился тот же FORTH. Таким образом, история FORTH все более и более запутывается.
Что мы знаем?
1. В 1958 Чарльз Мур работает в обсерватории. Ему лень перекомпилировать свою программу каждый раз, когда незначительно меняются условия задачи и он задумывается о разработке развитого интерпретатора уровня языка управления заданиями для сборки программы из готовых кусков по требования пользователя.
Официальное изложение этого момента.
2. В районе 1970 года Чарльз Мур предлагает язык FORTH, который уже не может работать на уровне управления заданиями, но позволяет описывать общепринятые на тот момент вычислительные конструкции в формате свободного ввода (слова, разделенные пробелами), записывать их в шитом коде и, понятно, исполнять.
3. Тогда же (июнь 1970) Чарльз Мур пишет статью
PROGRAMMING A PROBLEM-ORIENTED-LANGUAGE, которую обнародует только в 2011 году. В статье описывается для чего (возможности единообразного написания прикладных задач) и как (на голом железе ЭВМ того времени) он создавал FORTH. В обоснование идеи упоминается дуализм язык-машина. Кроме того в статье упомянуты многие частные решения, некоторые из которых впоследствии (стараниями Броуди) представляются изюминкой FORTH (строковый редактор, числа с фиксированной точкой...).
4. В настоящее время считается, что Мур изначально создавал программу для управления конкретным железом. И главная FORTH-фича - изящное совмещение схемотехнических решений с более-менее полными реализациями FORTH-стандартов. Сам Мур этим вполне доволен и разрабатывает многоядерные FORTH-процессоры и пытается придать стандартному FORTH большую выразительность (например, раскрасив слова). На фоне этого публикация работы (3) выглядит как дань несбывшимся юношеским мечтам.
5. В 1962 году опубликована работа
Е.W.Dijkstra. An attempt to unify the constituent concepts of serial program execution. Дейкстра рассуждает о свойствах дуализма языка-машины. Для удобства обсуждения предлагает "граничную модель" такого механизма, до неприличия напоминающую FORTH. Обосновывается применение понятия ячейки, двух стеков, обратной польской записи, шитого кода... О частных решениях Дейкстра принципиально(!) умалчивает. После прочтения становится очевидным, что FORTH Чарльза Мура лишь удачная (оптимизированная, ограниченная) техническая реализация модели Дейкстры. Возникает вопрос: что было между 62-м и 70-м годом?
6. В 1978 году Р.Ж.Лёлигер экспериментирует с TIL (почему-то тщательно избегая слова FORTH). Многие его идеи очень похожи на описанные Муром в (3), однако совершенно не развиты. Но, ведь, работа Мура была опубликована только в 2011? Значит, параллельно культуре "стандартного FORTH для управления железом" существовала "культура изобретения проблемно-ориентированных языков"? А параллельно развитию "синтаксической компиляции" размышляли о "машинах, определяемых языком, и языках, определяющих машину" (не путать с "конечными автоматами, допускающими язык").
20.11.14 Поправил ссылку