Forth http://fforum.winglion.ru/ |
|
Отличие FORTH-метода от FORTH-языка http://fforum.winglion.ru/viewtopic.php?f=8&t=3048 |
Страница 2 из 2 |
Автор: | gudleifr [ Вт апр 25, 2017 12:45 ] |
Заголовок сообщения: | Re: Отличие FORTH-метода от FORTH-языка |
true-grue писал(а): Ориентированность на личность, на кустаря-одиночку, независимого от чужого инструментария. Одним из замечательных "дебилизмов" является: "Ориентированность [FORTH] на личность, на кустаря-одиночку, независимого от чужого инструментария". Очень удобно. Не "я не умею писать на FORTH", а "я давно перерос кустарный уровень". Вспомним Мура - "у нас только голое железо". Что же теперь "классическому фортеру" при покупке нового компьютера сразу сносить операционную систему, стирать BIOS, выламывать процессоры, заменяя их "патентованными FORTH-кристаллами"? Какая такая злая сила запрещает фортеру пользоваться "чужим инструментарием"? Только одна - непонимание FORTH. Научили когда-то писать FORTH в кодах процессора Z80 - с этим знанием и помрут. Начнем с другого конца. Возьмем обычную визуальную программу под Windows. Из чего она состоит? Окошко. В окошке кнопочки. Нажатие на кнопочки порождает какие-то действия, возможно появление новых окошек с новыми кнопочками... Т.е. мы имеем ПОТОК сообщений от пользователя, СЛОВАРЬ сообщений пользователя, на которые программа реагирует, СТЕК - сохраняющий данные окна родителя, пока пользователь что-то делает со ЗНАЧЕНИЕМ в дочернем окне... Можно ли написать FORTH-процедуры - ОК-СИМВОЛ-ВЫПОЛНИТЬ-КОМПИЛИРОВАТЬ-СЛЕДУЮЩИЙ , чтобы это заработало как "настоящий FORTH"? С процедурой СИМВОЛ никаких проблем - уж что-что, а "символы" Win-соообщений Win-программисты распознавать умеют (хотя и далеки от мысли, что те являются неким "языком"). Процедуры ВЫПОЛНИТЬ и СЛЕДУЮЩИЙ, вроде, тоже работают "сами по себе", разве что, все "слова" Win-программы кодовые, а не шитые. Серьезнее проблема с КОМПИЛИРОВАТЬ - однако и ее Win-программисты решают успешно, причем даже, не на уровне Win-API-программирования, а даже в каком-нибудь Visual Basic (См. EXPRESSOR). Добавить в начало не-IMMEDIATE слов фразу "if(STATE) - добавь message в табличку" - не проблема. Остается только ОК. Опять Мур. Чем сложнее "машина" на которой мы пишем FORTH, тем сложнее ОК - ведь он и должен, в конце концов, выводить эти самые "окошки". Теории FORTH-интерфейса пока не создано, поэтому задача решается строго ро месту. Главное - понимать, что весь вывод Win-Controls должен жить в ОК. Что мы т.о. имеем? Псевдо-FORTH, который по мере "совершенствования" будет все ближе напоминать "обычный". Например, постепенным сведением ОК к обычной Win-консоли, придумыванием "словам" текстовых имен, формализацией СТЕКА... Как показывает мой опыт, задача, ради решения которой и писалась, программа будет решена гораздо раньше. FORTH полезен не только в виде вставки в программу всего этого обязательного балета "цикла управления", а, даже, в виде простого понимания "что за что отвечает". Куда ему расти дальше? Переходить с уровня на уровень. И самое смешное. Многие фортеры любят поминать игры, в которых вставляются "программируемые на FORTH виртуальные компьютеры", но свой компьютер как подобную "машину" не воспринимают. Автор упомянутого вначале "дебилизма" - в том числе. Настоящие фортеры часто даже не знают слова FORTH! Оригинал - http://gudleifr.forum2x2.ru/t14-topic#28 |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |