Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 16:49

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?
Автор Сообщение
  Заголовок сообщения:  Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?  Ответить с цитатой
Kopa писал(а):
Но хочется иметь "механизмы",
помимо головы, для аккумулирования лучшего
что создаёт Форт сообщество.

Блокнотик! :)
Kopa писал(а):
Или Форт так и будет в своей нише небольшого
количества владеющих темой пользователей?

Насчет небольшого - необязательно. Однако соглашусь, что "Форт будет в нише владеющих темой пользователей".
Сообщение Добавлено: Вт дек 13, 2011 16:41
  Заголовок сообщения:  Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?  Ответить с цитатой
gudleifr писал(а):
Как у меня сейчас: "вероятность выкинуть комбинацию, отличающуюся не более чем на один кубик от искомой после двух перебросов". Какое уж тут осмысленное имя?! "Лопе-Де-Вега" ее назвать?

Пропустил. В этом случае имя локальной переменной может быть произвольным, пока пишете определение - помните, потом уже ничего помнить не надо. Только надо проверить корректность процедуры.
gudleifr писал(а):
Это нормальная ситуация в Forth (и мозгу). STATE здесь не при чем. В любом языке программирования есть подобные конструкции (нужно помнить тип глобальной переменной, приоритет операторов, способ передачи параметров и их количество, домены констант...).

Если то что относится к задаче, то да помнить надо. Хотя например при обратной польской записи приоритет операций отсутствует.
STATE из другой оперы, это контекст инструмента, его можно не помнить то есть сделать локальным.
Вобщем парадигм много, но не все они пройдут фильтр оптимального согласования объективных возможностей человека решить задачу определенного уровня сложности. Форт называют языком для простых задач и в этом есть некая истина, так как слишком много возможностей без четких критериев их отбора приводит к затруднениям при решении сложных задач.
Сообщение Добавлено: Вт дек 13, 2011 16:22
  Заголовок сообщения:  Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?  Ответить с цитатой
Хищник писал(а):
А при чем же тут личные пристрастия? Я же не про какие-нибудь реализации виртуальных классов, когда надо всего-то линейный код выполнить. Вот это да, вредные пристрастия.

Ничего не понял.
Но хочется иметь "механизмы",
помимо головы, для аккумулирования лучшего
что создаёт Форт сообщество.

P.S. Или Форт так и будет в своей нише небольшого
количества владеющих темой пользователей?
Сообщение Добавлено: Вт дек 13, 2011 16:11
  Заголовок сообщения:  Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?  Ответить с цитатой
Kopa писал(а):
Личные пристрастия - это только личные пристрастия. И если Вы работаете один то
это одно. Если в коллективе - это другое:)

"Личные пристрастия" в данном случае - это скорее всего попросту стиль программирования.
Kopa писал(а):
Для меня было бы удобно переносить разработки
из разных Форт систем в создаваемую программу
без большого перелопачивания кода -
это тоже абстрактно?

А при чем же тут личные пристрастия? Я же не про какие-нибудь реализации виртуальных классов, когда надо всего-то линейный код выполнить. Вот это да, вредные пристрастия.
Kopa писал(а):
Вас часто "посылали" с Форт языком и до какого времени?

Вообще ни разу :) Я, как бы это сказать, на нем просто писал, а потом люди увидели результаты и сказали "ух, а как это???". Только именно результаты, а не "смотрите, как изящно тут переключаются словари".
Сообщение Добавлено: Вт дек 13, 2011 15:50
  Заголовок сообщения:  Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?  Ответить с цитатой
Хищник писал(а):
Если личные пристрастия не вредят ходу решения задачи, то чем они принципиально отличаются от удобства? Или удобство не для конкретного разработчика, а какое-то абстрактное "удобство вообще"?


Личные пристрастия - это только личные пристрастия. И если Вы работаете один то
это одно. Если в коллективе - это другое:)
и удобства в этих случаях ох-как могут различаться или это не так.
Для меня было бы удобно переносить разработки
из разных Форт систем в создаваемую программу
без большого перелопачивания кода -
это тоже абстрактно? (для Форта это наверное почти утопия)

P.S. Гипотетически представьте ситуацию когда умение программировать на Форт не поможет влиться в коллектив "нормальных" программистов:)
Вас часто "посылали" с Форт языком и до какого времени? :wink:
Сообщение Добавлено: Вт дек 13, 2011 15:38
  Заголовок сообщения:  Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?  Ответить с цитатой
Хищник писал(а):
BEGIN-то в любом случае делает одно и то же.

я подчеркивал наличие локального синтаксиса.
Сообщение Добавлено: Вт дек 13, 2011 15:17
  Заголовок сообщения:  Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?  Ответить с цитатой
mOleg писал(а):
Я это к тому, что внутри есть еще множество синтаксисов, например:
BEGIN .. AGAIN
BEGIN .. UNTIL
BEGIN .. WHILE .. REPEAT

BEGIN-то в любом случае делает одно и то же.
Сообщение Добавлено: Вт дек 13, 2011 15:14
  Заголовок сообщения:  Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?  Ответить с цитатой
Kopa писал(а):
К Хищнику: не путается ли в данном утверждении удобство решения специфических
задач с использованием языка Forth и личными
пристрастиями.

Если личные пристрастия не вредят ходу решения задачи, то чем они принципиально отличаются от удобства? Или удобство не для конкретного разработчика, а какое-то абстрактное "удобство вообще"?
Сообщение Добавлено: Вт дек 13, 2011 15:12
  Заголовок сообщения:  Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?  Ответить с цитатой
gudleifr писал(а):
Подозреваю, что и в мозгах у разных людей все по-разному.

До определенной степени. Но это не отменяет и наличие общих свойств у человека в части работы с информацией.
Если личные предпочтения вступают в противоречие с этими общими свойствами, то кроме уменьшения эффективности инфотруда на выходе ничего не будет. Деление операционной среды человека на большую статическую часть и небольшую оперативную это именно то общее что есть у каждого. Это доказано экспериментально. О способах учета этого в языке программирования можно спорить, но спорить о том, что для языка данное обстоятельство можно сознательно игнорировать - бессмысленно.
Сообщение Добавлено: Вт дек 13, 2011 10:59
  Заголовок сообщения:  Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?  Ответить с цитатой
chess писал(а):
Просто это имена, отвечающие внутреннему смыслу данной процедуры.
Как у меня сейчас: "вероятность выкинуть комбинацию, отличающуюся не более чем на один кубик от искомой после двух перебросов". Какое уж тут осмысленное имя?! "Лопе-Де-Вега" ее назвать?
chess писал(а):
вот мы видим имя слова в программе и начинаем вспоминать какое это слово...
Это нормальная ситуация в Forth (и мозгу). STATE здесь не при чем. В любом языке программирования есть подобные конструкции (нужно помнить тип глобальной переменной, приоритет операторов, способ передачи параметров и их количество, домены констант...). Пользоваться только определениями, сделанными в пределах одного экрана - утопия.
Причем, у всех фортеров свои предпочтения в использовании тех или иных парадигм. Кто-то пишет код, как в обычных языках программирования - с отступами, кто-то старается писать в строчку. Кто-то изобретает новые удобные управляющие слова, а кто-то специально ограничивает их количество для большей понятности. Кто-то изобретает новые стековые слова, а кто-то втюхивает куски ассемблера. Подозреваю, что и в мозгах у разных людей все по-разному. Более того, я встречал такие программы на обычных языках, что не понимал, как у автора могла возникнуть сама мысль писать таким образом.
Сообщение Добавлено: Вт дек 13, 2011 10:13
  Заголовок сообщения:  Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?  Ответить с цитатой
Kopa писал(а):
В современных реалиях почти никак [фортеры не договорятся]

Про Фортёров речи не было, но это тоже можно
постулировать, как аксиому. Подтверждением
этому служит и данный форум:)

P.S. К Хищнику: не путается ли в данном утверждении удобство решения специфических
задач с использованием языка Forth и личными
пристрастиями.
Форт программирование - "это допиливание велосипеда по ходу гонки"?
Сообщение Добавлено: Вт дек 13, 2011 09:49
  Заголовок сообщения:  Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?  Ответить с цитатой
gudleifr писал(а):
Вот они - дурацкие имена!

Да не дурацкие это имена. Просто это имена, точнее отвечающие внутреннему смыслу данной процедуры.
Но это не значит, что эту процедуру-слово нельзя использовать по другому назначению.
Если присмотреться, то в стековых комментариях эти параметры имеют обезличенное название.
Тоже самое относится и к выходным параметрам.
gudleifr писал(а):
Т.е. человеку не свойственно отдавать приказы и строить планы?

Как раз наоборот, поэтому форт этот момент подчеркивает, тем, что он язык императивный.
А насчет STATE, вот мы видим имя слова в программе и начинаем вспоминать какое это слово
обычное или немедленного исполнения. От этого зависит будет ли оно исполнено или скомпилировано.
Причем тип операции со словом зависит также от состояния STATE. Проще явно указать что делать с кодом слова прямо
в имени слова в момент его использования, а STATE игнорировать(путем установки всегда в одно состояние). При этом флаг IMMEDIATE будет лишней сущностью. Контекст по состоянию транслятора уходит. Аналогичное упрощение, облегчающее жизнь программисту сделано в colorforth.
PS. Еще хуже ситуация получится если будут несколько слов с одним именем в разных словарях, причем в одних словарях
это слова будут IMMEDIATE, а в других нет.
Сообщение Добавлено: Вт дек 13, 2011 09:43
  Заголовок сообщения:  Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?  Ответить с цитатой
Kopa писал(а):
Ну хорошо, вот выяснили мы, что не получится. Это просто констатация факта. Что с этим делать дальше?


Ничего, но совместимость с хорошо цитируемой Форт системой (с использованием разных вариантов)
это хорошо для переноса


Вот gudleifr ответил практически моими словами :) Да, ничего не делать, постулировать. Выбор между наработками и собственным удобством опирается на плюсы того и другого. Если для языка характерно наличие массы наработок, то да, надо совмещаться. Если характерно удобство разработчика и возможность совмещения с его подходами к программированию, то второе. Ну и чего у Форта больше?
Сообщение Добавлено: Вт дек 13, 2011 01:57
  Заголовок сообщения:  Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?  Ответить с цитатой
gudleifr писал(а):
формулы, блок-схемы

угу, смотрим рисунок, на который я тут постил ссылку
Сообщение Добавлено: Вт дек 13, 2011 00:42
  Заголовок сообщения:  Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH?  Ответить с цитатой
Kopa писал(а):
В современных реалиях почти никак [фортеры не договорятся]
Ни в каких не договорятся. Свойство языка. Если и вводить какое-то средство обмена алгоритмами, то на гораздо более высоком уровне: формулы, блок-схемы...
Сообщение Добавлено: Вт дек 13, 2011 00:14

Часовой пояс: UTC + 3 часа [ Летнее время ]


cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB