Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH? |
|
|
Kopa писал(а): Но хочется иметь "механизмы", помимо головы, для аккумулирования лучшего что создаёт Форт сообщество. Блокнотик! Kopa писал(а): Или Форт так и будет в своей нише небольшого количества владеющих темой пользователей? Насчет небольшого - необязательно. Однако соглашусь, что "Форт будет в нише владеющих темой пользователей".
[quote="Kopa"]Но хочется иметь "механизмы", помимо головы, для аккумулирования лучшего что создаёт Форт сообщество.[/quote] Блокнотик! :) [quote="Kopa"]Или Форт так и будет в своей нише небольшого количества владеющих темой пользователей?[/quote] Насчет небольшого - необязательно. Однако соглашусь, что "Форт будет в нише владеющих темой пользователей".
|
|
|
|
Добавлено: Вт дек 13, 2011 16:41 |
|
|
|
|
|
Заголовок сообщения: |
Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH? |
|
|
gudleifr писал(а): Как у меня сейчас: "вероятность выкинуть комбинацию, отличающуюся не более чем на один кубик от искомой после двух перебросов". Какое уж тут осмысленное имя?! "Лопе-Де-Вега" ее назвать? Пропустил. В этом случае имя локальной переменной может быть произвольным, пока пишете определение - помните, потом уже ничего помнить не надо. Только надо проверить корректность процедуры. gudleifr писал(а): Это нормальная ситуация в Forth (и мозгу). STATE здесь не при чем. В любом языке программирования есть подобные конструкции (нужно помнить тип глобальной переменной, приоритет операторов, способ передачи параметров и их количество, домены констант...). Если то что относится к задаче, то да помнить надо. Хотя например при обратной польской записи приоритет операций отсутствует. STATE из другой оперы, это контекст инструмента, его можно не помнить то есть сделать локальным. Вобщем парадигм много, но не все они пройдут фильтр оптимального согласования объективных возможностей человека решить задачу определенного уровня сложности. Форт называют языком для простых задач и в этом есть некая истина, так как слишком много возможностей без четких критериев их отбора приводит к затруднениям при решении сложных задач.
[quote="gudleifr"]Как у меня сейчас: "вероятность выкинуть комбинацию, отличающуюся не более чем на один кубик от искомой после двух перебросов". Какое уж тут осмысленное имя?! "Лопе-Де-Вега" ее назвать?[/quote] Пропустил. В этом случае имя локальной переменной может быть произвольным, пока пишете определение - помните, потом уже ничего помнить не надо. Только надо проверить корректность процедуры. [quote="gudleifr"]Это нормальная ситуация в Forth (и мозгу). STATE здесь не при чем. В любом языке программирования есть подобные конструкции (нужно помнить тип глобальной переменной, приоритет операторов, способ передачи параметров и их количество, домены констант...).[/quote] Если то что относится к задаче, то да помнить надо. Хотя например при обратной польской записи приоритет операций отсутствует. STATE из другой оперы, это контекст инструмента, его можно не помнить то есть сделать локальным. Вобщем парадигм много, но не все они пройдут фильтр оптимального согласования объективных возможностей человека решить задачу определенного уровня сложности. Форт называют языком для простых задач и в этом есть некая истина, так как слишком много возможностей без четких критериев их отбора приводит к затруднениям при решении сложных задач.
|
|
|
|
Добавлено: Вт дек 13, 2011 16:22 |
|
|
|
|
|
Заголовок сообщения: |
Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH? |
|
|
Хищник писал(а): А при чем же тут личные пристрастия? Я же не про какие-нибудь реализации виртуальных классов, когда надо всего-то линейный код выполнить. Вот это да, вредные пристрастия.
Ничего не понял. Но хочется иметь "механизмы", помимо головы, для аккумулирования лучшего что создаёт Форт сообщество. P.S. Или Форт так и будет в своей нише небольшого количества владеющих темой пользователей?
[quote="Хищник"] А при чем же тут личные пристрастия? Я же не про какие-нибудь реализации виртуальных классов, когда надо всего-то линейный код выполнить. Вот это да, вредные пристрастия. [/quote] Ничего не понял. Но хочется иметь "механизмы", помимо головы, для аккумулирования лучшего что создаёт Форт сообщество.
P.S. Или Форт так и будет в своей нише небольшого количества владеющих темой пользователей?
|
|
|
|
Добавлено: Вт дек 13, 2011 16:11 |
|
|
|
|
|
Заголовок сообщения: |
Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH? |
|
|
Kopa писал(а): Личные пристрастия - это только личные пристрастия. И если Вы работаете один то это одно. Если в коллективе - это другое:) "Личные пристрастия" в данном случае - это скорее всего попросту стиль программирования. Kopa писал(а): Для меня было бы удобно переносить разработки из разных Форт систем в создаваемую программу без большого перелопачивания кода - это тоже абстрактно? А при чем же тут личные пристрастия? Я же не про какие-нибудь реализации виртуальных классов, когда надо всего-то линейный код выполнить. Вот это да, вредные пристрастия. Kopa писал(а): Вас часто "посылали" с Форт языком и до какого времени? Вообще ни разу Я, как бы это сказать, на нем просто писал, а потом люди увидели результаты и сказали "ух, а как это???". Только именно результаты, а не "смотрите, как изящно тут переключаются словари".
[quote="Kopa"]Личные пристрастия - это только личные пристрастия. И если Вы работаете один то это одно. Если в коллективе - это другое:) [/quote] "Личные пристрастия" в данном случае - это скорее всего попросту [i]стиль[/i] программирования. [quote="Kopa"]Для меня было бы удобно переносить разработки из разных Форт систем в создаваемую программу без большого перелопачивания кода - это тоже абстрактно?[/quote] А при чем же тут личные пристрастия? Я же не про какие-нибудь реализации виртуальных классов, когда надо всего-то линейный код выполнить. Вот это да, вредные пристрастия. [quote="Kopa"]Вас часто "посылали" с Форт языком и до какого времени? [/quote] Вообще ни разу :) Я, как бы это сказать, на нем просто писал, а потом люди увидели результаты и сказали "ух, а как это???". Только именно результаты, а не "смотрите, как изящно тут переключаются словари".
|
|
|
|
Добавлено: Вт дек 13, 2011 15:50 |
|
|
|
|
|
Заголовок сообщения: |
Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH? |
|
|
Хищник писал(а): Если личные пристрастия не вредят ходу решения задачи, то чем они принципиально отличаются от удобства? Или удобство не для конкретного разработчика, а какое-то абстрактное "удобство вообще"? Личные пристрастия - это только личные пристрастия. И если Вы работаете один то это одно. Если в коллективе - это другое:) и удобства в этих случаях ох-как могут различаться или это не так. Для меня было бы удобно переносить разработки из разных Форт систем в создаваемую программу без большого перелопачивания кода - это тоже абстрактно? (для Форта это наверное почти утопия) P.S. Гипотетически представьте ситуацию когда умение программировать на Форт не поможет влиться в коллектив "нормальных" программистов:) Вас часто "посылали" с Форт языком и до какого времени?
[quote="Хищник"] Если личные пристрастия не вредят ходу решения задачи, то чем они принципиально отличаются от удобства? Или удобство не для конкретного разработчика, а какое-то абстрактное "удобство вообще"?[/quote]
Личные пристрастия - это только личные пристрастия. И если Вы работаете один то это одно. Если в коллективе - это другое:) и удобства в этих случаях ох-как могут различаться или это не так. Для меня было бы удобно переносить разработки из разных Форт систем в создаваемую программу без большого перелопачивания кода - это тоже абстрактно? (для Форта это наверное почти утопия)
P.S. Гипотетически представьте ситуацию когда умение программировать на Форт не поможет влиться в коллектив "нормальных" программистов:) Вас часто "посылали" с Форт языком и до какого времени? :wink:
|
|
|
|
Добавлено: Вт дек 13, 2011 15:38 |
|
|
|
|
|
Заголовок сообщения: |
Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH? |
|
|
Хищник писал(а): BEGIN-то в любом случае делает одно и то же. я подчеркивал наличие локального синтаксиса.
[quote="Хищник"]BEGIN-то в любом случае делает одно и то же.[/quote] я подчеркивал наличие локального синтаксиса.
|
|
|
|
Добавлено: Вт дек 13, 2011 15:17 |
|
|
|
|
|
Заголовок сообщения: |
Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH? |
|
|
mOleg писал(а): Я это к тому, что внутри есть еще множество синтаксисов, например: BEGIN .. AGAIN BEGIN .. UNTIL BEGIN .. WHILE .. REPEAT BEGIN-то в любом случае делает одно и то же.
[quote="mOleg"]Я это к тому, что внутри есть еще множество синтаксисов, например: BEGIN .. AGAIN BEGIN .. UNTIL BEGIN .. WHILE .. REPEAT[/quote] BEGIN-то в любом случае делает одно и то же.
|
|
|
|
Добавлено: Вт дек 13, 2011 15:14 |
|
|
|
|
|
Заголовок сообщения: |
Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH? |
|
|
Kopa писал(а): К Хищнику: не путается ли в данном утверждении удобство решения специфических задач с использованием языка Forth и личными пристрастиями. Если личные пристрастия не вредят ходу решения задачи, то чем они принципиально отличаются от удобства? Или удобство не для конкретного разработчика, а какое-то абстрактное "удобство вообще"?
[quote="Kopa"]К Хищнику: не путается ли в данном утверждении удобство решения специфических задач с использованием языка Forth и личными пристрастиями. [/quote] Если личные пристрастия не вредят ходу решения задачи, то чем они принципиально отличаются от удобства? Или удобство не для конкретного разработчика, а какое-то абстрактное "удобство вообще"?
|
|
|
|
Добавлено: Вт дек 13, 2011 15:12 |
|
|
|
|
|
Заголовок сообщения: |
Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH? |
|
|
gudleifr писал(а): Подозреваю, что и в мозгах у разных людей все по-разному. До определенной степени. Но это не отменяет и наличие общих свойств у человека в части работы с информацией. Если личные предпочтения вступают в противоречие с этими общими свойствами, то кроме уменьшения эффективности инфотруда на выходе ничего не будет. Деление операционной среды человека на большую статическую часть и небольшую оперативную это именно то общее что есть у каждого. Это доказано экспериментально. О способах учета этого в языке программирования можно спорить, но спорить о том, что для языка данное обстоятельство можно сознательно игнорировать - бессмысленно.
[quote="gudleifr"]Подозреваю, что и в мозгах у разных людей все по-разному.[/quote] До определенной степени. Но это не отменяет и наличие общих свойств у человека в части работы с информацией. Если личные предпочтения вступают в противоречие с этими общими свойствами, то кроме уменьшения эффективности инфотруда на выходе ничего не будет. Деление операционной среды человека на большую статическую часть и небольшую оперативную это именно то общее что есть у каждого. Это доказано экспериментально. О способах учета этого в языке программирования можно спорить, но спорить о том, что для языка данное обстоятельство можно сознательно игнорировать - бессмысленно.
|
|
|
|
Добавлено: Вт дек 13, 2011 10:59 |
|
|
|
|
|
Заголовок сообщения: |
Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH? |
|
|
chess писал(а): Просто это имена, отвечающие внутреннему смыслу данной процедуры. Как у меня сейчас: "вероятность выкинуть комбинацию, отличающуюся не более чем на один кубик от искомой после двух перебросов". Какое уж тут осмысленное имя?! "Лопе-Де-Вега" ее назвать? chess писал(а): вот мы видим имя слова в программе и начинаем вспоминать какое это слово... Это нормальная ситуация в Forth (и мозгу). STATE здесь не при чем. В любом языке программирования есть подобные конструкции (нужно помнить тип глобальной переменной, приоритет операторов, способ передачи параметров и их количество, домены констант...). Пользоваться только определениями, сделанными в пределах одного экрана - утопия. Причем, у всех фортеров свои предпочтения в использовании тех или иных парадигм. Кто-то пишет код, как в обычных языках программирования - с отступами, кто-то старается писать в строчку. Кто-то изобретает новые удобные управляющие слова, а кто-то специально ограничивает их количество для большей понятности. Кто-то изобретает новые стековые слова, а кто-то втюхивает куски ассемблера. Подозреваю, что и в мозгах у разных людей все по-разному. Более того, я встречал такие программы на обычных языках, что не понимал, как у автора могла возникнуть сама мысль писать таким образом.
[quote="chess"]Просто это имена, отвечающие внутреннему смыслу данной процедуры.[/quote]Как у меня сейчас: "вероятность выкинуть комбинацию, отличающуюся не более чем на один кубик от искомой после двух перебросов". Какое уж тут осмысленное имя?! "Лопе-Де-Вега" ее назвать? [quote="chess"]вот мы видим имя слова в программе и начинаем вспоминать какое это слово...[/quote]Это нормальная ситуация в Forth (и мозгу). STATE здесь не при чем. В любом языке программирования есть подобные конструкции (нужно помнить тип глобальной переменной, приоритет операторов, способ передачи параметров и их количество, домены констант...). Пользоваться только определениями, сделанными в пределах одного экрана - утопия. Причем, у всех фортеров свои предпочтения в использовании тех или иных парадигм. Кто-то пишет код, как в обычных языках программирования - с отступами, кто-то старается писать в строчку. Кто-то изобретает новые удобные управляющие слова, а кто-то специально ограничивает их количество для большей понятности. Кто-то изобретает новые стековые слова, а кто-то втюхивает куски ассемблера. Подозреваю, что и в мозгах у разных людей все по-разному. Более того, я встречал такие программы на обычных языках, что не понимал, как у автора могла возникнуть сама мысль писать таким образом.
|
|
|
|
Добавлено: Вт дек 13, 2011 10:13 |
|
|
|
|
|
Заголовок сообщения: |
Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH? |
|
|
Kopa писал(а): В современных реалиях почти никак [фортеры не договорятся] Про Фортёров речи не было, но это тоже можно постулировать, как аксиому. Подтверждением этому служит и данный форум:) P.S. К Хищнику: не путается ли в данном утверждении удобство решения специфических задач с использованием языка Forth и личными пристрастиями. Форт программирование - "это допиливание велосипеда по ходу гонки"?
[quote="Kopa"]В современных реалиях почти никак [color=#BF0000][фортеры не договорятся][/color][/quote] Про Фортёров речи не было, но это тоже можно постулировать, как аксиому. Подтверждением этому служит и данный форум:)
P.S. К Хищнику: не путается ли в данном утверждении удобство решения специфических задач с использованием языка Forth и личными пристрастиями. Форт программирование - "это допиливание велосипеда по ходу гонки"?
|
|
|
|
Добавлено: Вт дек 13, 2011 09:49 |
|
|
|
|
|
Заголовок сообщения: |
Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH? |
|
|
gudleifr писал(а): Вот они - дурацкие имена! Да не дурацкие это имена. Просто это имена, точнее отвечающие внутреннему смыслу данной процедуры. Но это не значит, что эту процедуру-слово нельзя использовать по другому назначению. Если присмотреться, то в стековых комментариях эти параметры имеют обезличенное название. Тоже самое относится и к выходным параметрам. gudleifr писал(а): Т.е. человеку не свойственно отдавать приказы и строить планы? Как раз наоборот, поэтому форт этот момент подчеркивает, тем, что он язык императивный. А насчет STATE, вот мы видим имя слова в программе и начинаем вспоминать какое это слово обычное или немедленного исполнения. От этого зависит будет ли оно исполнено или скомпилировано. Причем тип операции со словом зависит также от состояния STATE. Проще явно указать что делать с кодом слова прямо в имени слова в момент его использования, а STATE игнорировать(путем установки всегда в одно состояние). При этом флаг IMMEDIATE будет лишней сущностью. Контекст по состоянию транслятора уходит. Аналогичное упрощение, облегчающее жизнь программисту сделано в colorforth. PS. Еще хуже ситуация получится если будут несколько слов с одним именем в разных словарях, причем в одних словарях это слова будут IMMEDIATE, а в других нет.
[quote="gudleifr"]Вот они - дурацкие имена![/quote] Да не дурацкие это имена. Просто это имена, точнее отвечающие внутреннему смыслу данной процедуры. Но это не значит, что эту процедуру-слово нельзя использовать по другому назначению. Если присмотреться, то в стековых комментариях эти параметры имеют обезличенное название. Тоже самое относится и к выходным параметрам. [quote="gudleifr"]Т.е. человеку не свойственно отдавать приказы и строить планы?[/quote] Как раз наоборот, поэтому форт этот момент подчеркивает, тем, что он язык императивный. А насчет STATE, вот мы видим имя слова в программе и начинаем вспоминать какое это слово обычное или немедленного исполнения. От этого зависит будет ли оно исполнено или скомпилировано. Причем тип операции со словом зависит также от состояния STATE. Проще явно указать что делать с кодом слова прямо в имени слова в момент его использования, а STATE игнорировать(путем установки всегда в одно состояние). При этом флаг IMMEDIATE будет лишней сущностью. Контекст по состоянию транслятора уходит. Аналогичное упрощение, облегчающее жизнь программисту сделано в colorforth. PS. Еще хуже ситуация получится если будут несколько слов с одним именем в разных словарях, причем в одних словарях это слова будут IMMEDIATE, а в других нет.
|
|
|
|
Добавлено: Вт дек 13, 2011 09:43 |
|
|
|
|
|
Заголовок сообщения: |
Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH? |
|
|
Kopa писал(а): Ну хорошо, вот выяснили мы, что не получится. Это просто констатация факта. Что с этим делать дальше?
Ничего, но совместимость с хорошо цитируемой Форт системой (с использованием разных вариантов) это хорошо для переноса Вот gudleifr ответил практически моими словами Да, ничего не делать, постулировать. Выбор между наработками и собственным удобством опирается на плюсы того и другого. Если для языка характерно наличие массы наработок, то да, надо совмещаться. Если характерно удобство разработчика и возможность совмещения с его подходами к программированию, то второе. Ну и чего у Форта больше?
[quote="Kopa"]Ну хорошо, вот выяснили мы, что не получится. Это просто констатация факта. Что с этим делать дальше?
Ничего, но совместимость с хорошо цитируемой Форт системой (с использованием разных вариантов) это хорошо для переноса [/quote]
Вот gudleifr ответил практически моими словами :) Да, ничего не делать, постулировать. Выбор между наработками и собственным удобством опирается на плюсы того и другого. Если для языка характерно наличие массы наработок, то да, надо совмещаться. Если характерно удобство разработчика и возможность совмещения с его подходами к программированию, то второе. Ну и чего у Форта больше?
|
|
|
|
Добавлено: Вт дек 13, 2011 01:57 |
|
|
|
|
|
Заголовок сообщения: |
Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH? |
|
|
gudleifr писал(а): формулы, блок-схемы угу, смотрим рисунок, на который я тут постил ссылку
[quote="gudleifr"]формулы, блок-схемы[/quote] угу, смотрим рисунок, на который я тут постил ссылку
|
|
|
|
Добавлено: Вт дек 13, 2011 00:42 |
|
|
|
|
|
Заголовок сообщения: |
Re: НА ЧТО СПОСОБЕН И НА ЧТО ДОЛЖЕН БЫТЬ СПОСОБЕН FORTH? |
|
|
Kopa писал(а): В современных реалиях почти никак [фортеры не договорятся] Ни в каких не договорятся. Свойство языка. Если и вводить какое-то средство обмена алгоритмами, то на гораздо более высоком уровне: формулы, блок-схемы...
[quote="Kopa"]В современных реалиях почти никак [фортеры не договорятся][/quote]Ни в каких не договорятся. Свойство языка. Если и вводить какое-то средство обмена алгоритмами, то на гораздо более высоком уровне: формулы, блок-схемы...
|
|
|
|
Добавлено: Вт дек 13, 2011 00:14 |
|
|
|
|