собственно, идеи форта живут практически во всех плк. яркий пример — сименсовские s7 + stl в step7. всё через стек. то есть идея-то одна — постоянное изменение некоторого потока данных или некоторого состояния, некоторой переменной. стековые языки очень просты в плане реализации.
я несколько лет использовал именно stl (+ lad и fbd — тоже, в принципе, потоковая обработка переменных на стеке) для задач автоматизации.
но тот же сименсовский scl («обычный» яп, похожий на паскаль) в случаях не очень тривиальных — более или менее сложная логика, циклы (открытые, конечно!) — гораздо читабельнее. его гораздо проще поддерживать, анализировать глазами.
так что такие яп имеют право на жизнь именно там, где нужна простота, где нет сложных задач.
да, можно на форте писать сложные системы. можно также написать аналог офиса на баше. но зачем и кто это будет развивать?
… всё-таки не нужно.) уже нет.
Понимаете, в чем дело. Идея Форта — не стек. Основное в Форте — расширяемость. Вы создаете сами инструменты для расширения системы под решаемую задачу. Причем можете создавать их на любом уровне, от машинного кода до самого верхнего уровня, причем на всех одновременно. Это и мощь и слабость. Чтобы писать на Форте, надо вывернуть мышление наизнанку. Это пугает «традиционалистов».
А на вечный вопрос «зачем?» ответ — хочу! :)
Можно. Но… не нужно. Нет такого функционала, ради которого стоит заводить еще одно слово. Да еще с ничего не говорящим именем. {{ в конце слов, определенных через WM: в первую очередь украшательство. Можно вообще обойтись без них. Например сделать такой интерфейс: WM_LBUTTONDOWN do_smth ;WM
В предыдущей версии скобки были одинарные, но сразу выяснилось что их легко потерять или перепутать с круглыми.
Кроме того, код после DOES> в WM: существует в системе в единственном экземпляре, а не копируется в каждое слово, определенное через WM:. То-есть экономии никакой нет. Но я прям чувствую, что отдельно стоящие скобки так и будет тянуть или потерять, или прилепить.
Windows Forth +