[uquote="kaetzchen",url="/forum/viewtopic.php?p=3529797#p3529797"]в чем суть и смысл польской нотации?
.[/uquote]
Изначально получилось из простейшего-"тупого" цикла трансляции слов Форт программы.
но при этом, в сочетании с использованием стека данных, получилось очень изящное по мощности (комбинирования-слов) решение.
вся программа - это последовательная комбинация выполняемых слов
(с кортким-локальным временем жизни локально переменных без необходимости их именования, хотя в стандарте языка их можно сделать именованным)
P.S. При этом, если слова активно вмешиваются в поток трансляции и внутренности системы, то и это свойство не затрудняет этот процесс-расширения свойств системы. Если есть необходимость в конкретных элементах классического дизайна других языков, то они могут быть добавлены и позже в готовую систему -- расширением. Достаточно понимать, что СЛОВО в Форт - может быть любым моделируемым понятием и может создать синтаксис и семантику любых их во взаимных взаимодействиях
Переменная и Процедура отличаются только своим действием и также представляют последовательность букв разделённых пробелами или переводом строк. Для разных типов данных, зачастую, вводят свои лексиконы-слов имеющие какие то признаки этого в ведённом слове.
Эта "изоморфность" Форт-программы условно ухудшает читаемость программы сторонним Форт-программистом, если не следовать каким то принятым соглашениям. (но нефатально)
Сравните со своим вопросом записанным последовательностью слов и возникло ли его непонимание у ответивших на данный вопрос.
Слова-лексемы ущё и могут искаться при трансляции в разных словарях, а добавляться к контекстному выбранному.
Есть ещё и другие элементы Форт-системы определяющие её...(в том числе определённые и в общем стандарте языка)
Даже доступ к стеку-возвратов позволяет делать в языке нетривиальные вещи.
Понимание возможностей дизайна Форт-систем позволяет и на классические языки взглянуть под другим "углом" осмысления.
Если понимать Форт, как Метод, то и реализация какой то Форт-системы может иметь отличительные решения от общепринятых реализаций.
Тема с форума electronix.ru
А вот бы на FORTH написать... (там вроде ещё можно найти какие то Forth обсуждения)
Чему верить/неверить каждый может решить сам.
И за счёт простого устройства Форт слов - можно в программе добавлять много простых слов легко проверяемых в интерактивном режиме
т.к. нет избыточного механизма связывания фактических и формальных параметров в терминологии классических языков..
(передача параметров между словами через стек - безымянна) Поименовав правильным именем это "простейшее" слово.
Цитата из книги Баранова, Ноздрунова "Язык Форт и его реализации" (стр 66.) В этой книге (1988 года.) есть ещё много умных мыслей.
Код: Выделить всё
Механизм определяющих слов составляет одно из основных достоинств языка Форт, главную «находку»
его создателей. С его помощью программист может вводить свои типы данных и структуры управления,
задавая их внешнее синтаксическое оформление и внутреннюю семантическую реализацию.
Исходный строительный материал программист может брать из сравнительно небольшого исходного запаса слов-команд
языка или создавать сам.
Широкие выразительные возможности и вместе с тем компактность реализации этого механизма вытекают из
того, что в его основе лежит фундаментальный принцип частичной параметризации. Его применению в традиционных языках программирования мешал громоздкий аппарат процедурного вызова, который считался в этих языках элементарным и неделимым действием. В языке Форт конструкция вызова разложена на отдельные составляющие и доступна «по частям», в частности
имеется доступ к адресу возврата и всему динамическому контексту вызова.
В сочетании с единым механизмом передачи параметров через стек и компактной реализацией через
шитый код это дает недостижимый для других языков уровень свертки понятий.
Хотя многие современные Форт-системы генерируют машинный код, но сказанное выше всё равно остаётся в силе.
@ „Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.“ Козьма Петрович Прутков