Forth http://fforum.winglion.ru/ |
|
OpenForth http://fforum.winglion.ru/viewtopic.php?f=55&t=2815 |
Страница 1 из 8 |
Автор: | Hishnik [ Вс мар 04, 2012 23:20 ] | ||
Заголовок сообщения: | OpenForth | ||
Основатель движения за свободное ПО Ричард Столлман разъясняет свою позицию следующим образом: «Чтобы управлять программами, пользователям нужны четыре свободы. Для порядка я их пронумерую. Свобода номер ноль - это свобода запускать программу так, как вам этого хочется. Свобода номер один - это свобода изучать исходный код программы и изменять его так, чтобы программа работала в соответствии с вашими пожеланиями. Свобода номер два - это свобода помогать остальным, свобода распространять точные копии программы среди других пользователей. Свобода номер три - это свобода вносить вклад в сообщество. Это свобода распространять модифицированные копии программ, если вам этого хочется.» Рассматривая свободу вносить вклад в сообщество, нельзя ограничиваться только свободой отправить в сеть результаты своего труда. Не менее важно иметь саму возможность внести весомый вклад в развитие программной технологии, добавляя к проекту то, что действительно представляет интерес и улучшает его характеристики. Для этого необходимо обладать глубоким пониманием основ разрабатываемой программы, уметь реализовывать основные алгоритмы и согласовывать их с общей структурой проекта. Ситуация, сложившаяся с Фортом, достаточно показательна. При возможности получить доступ к исходным текстам многих форт-систем не все программисты все же имеют практическую свободу «вносить вклад в сообщество», поскольку исходные тексты не разъясняют методику создания и модификации программы, а также не формируют легко понимаемой структуры, которую программист мог бы изменить в требуемую ему сторону. Проект OpenForth ставит целью развитие Форт-технологий путем распространения базовых алгоритмов и простых форт-систем, которые служили бы методологической основой для изучения Форта и могли бы стать отправной точкой для получения более эффективных реализаций. Программные решения проекта предполагается распространять по полностью свободной модели, включая возможность использования, добавления, изменения существующих продуктов, а также свободу безвозмездного использования в коммерческих системах любых частей или целых продуктов, в том числе без предоставления исходных текстов и без ссылки на OpenForth. Не предполагается создание коммерческих или некоммерческих групп, регистрации участников, или иных форм ограничения свободы принять участие в проекте или выйти из него. В качестве практического решения предлагается шаблон Форт-машины, реализованный на языке C в виде заголовочного файла. Файл openforth.h содержит имена функций, реализующих слова Форт-машины. Такая машина может быть статически скомпилирована с проектом на базе С, выполняя строки Форта, передаваемые функции Evaluate. Работоспособность данной машины (с учетом заполненных шаблонов) была протестирована в проекте Quark Virtual Machine, собранном в QtCreator 2.4.1. В предоставляемом для OpenForth файле не специфицируется вид кода, способ реализации стеков, доступа к памяти, файлам, оборудованию и т.п. Предполагается, что самостоятельное заполнение структуры файла, приведенной в openforth.h, позволит, с одной стороны, реализовать различные подходы к компиляции, формированию структуры словарной статьи, организации стека и т.п., что снимает основную остроту противоречивых требований к этим характеристикам; с другой стороны, самостоятельная реализация простых функций способствует практическому освоению программирования Форт-машин. Прикрепленный файл openforth.h может свободно использоваться (или не использоваться) в учебных, коммерческих или иных целях, со свободой предложить любую реализацию того или иного слова при любой степени завершенности системы. Предлагается реализация ряда оболочек, демонстрирующих интеграцию Форт-машины в продукт верхнего уровня. Простейшим примером такой оболочки может быть оконное приложение, позволяющее отправить текстовую строку на исполнение в Форт-машину и показать ее состояние (стек, память, виртуальный текстовый или графический экран в различных сочетаниях).
|
Автор: | gudleifr [ Пн мар 05, 2012 00:28 ] |
Заголовок сообщения: | Re: OpenForth |
Хищник писал(а): ... Когда я был молодой и глупый (этак, с месяц назад), я тоже думал, что все беды фортеров - от большого ума и недостатков здорового формализма. Однако, немного потершись здесь, понял: можешь что-то сделать - сделай, а потом хвастайся в меру воспитания. А объяснить здесь что-то на пальцах невозможно, поскольку всем все пофигу, окромя своих задумок. Причем, 90% этих задумок - типа: "Не знаю, не проверял, не считал, не разбирался, но мне кажется, что это круто и раньше не было".
|
Автор: | Hishnik [ Пн мар 05, 2012 00:57 ] |
Заголовок сообщения: | Re: OpenForth |
gudleifr писал(а): Когда я был молодой и глупый (этак, с месяц назад), я тоже думал, что все беды фортеров - от большого ума и недостатков здорового формализма. Однако, немного потершись здесь, понял: можешь что-то сделать - сделай, а потом хвастайся в меру воспитания. А объяснить здесь что-то на пальцах невозможно, поскольку всем все пофигу, окромя своих задумок. Причем, 90% этих задумок - типа: "Не знаю, не проверял, не считал, не разбирался, но мне кажется, что это круто и раньше не было". Мое дело маленькое: есть возможность - делаю. Хотя бы один человек, продвинувшийся в понимании хоть чего-нибудь на один шаг - это уже хорошо. |
Автор: | WingLion [ Пн мар 05, 2012 04:49 ] |
Заголовок сообщения: | Re: OpenForth |
gudleifr писал(а): А объяснить здесь что-то на пальцах невозможно, поскольку всем все пофигу, окромя своих задумок. Чтобы что-то делать на пальцах, надо эти пальцы иметь (нормальные и прямые). И иметь хотя бы совесть, не выдавать за них костлявые костыли. А так же не наглеть, и не совать их (эти костыли) во все чужие колеса. п.с. И хватит говорить за всех! |
Автор: | WingLion [ Пн мар 05, 2012 05:09 ] |
Заголовок сообщения: | Re: OpenForth |
Хищник писал(а): поскольку исходные тексты не разъясняют методику создания и модификации программы, а также не формируют легко понимаемой структуры, которую программист мог бы изменить в требуемую ему сторону. Кстати, вот это есть очень большой минус для проекта. Я, например, C/C++ просто не знаю. (Не он мне ни разу понадобился, и насильно не изучал.) А по сему, было бы совсем неплохо, кроме сишного исходника (или хедера) иметь нечто подобное непосредственно на Форте. Плюс добавить минимальные объяснения (хоть в комментах, хоть в сопроводительном txt-шнике), чтобы любой человек смог разобраться. |
Автор: | Mihail [ Пн мар 05, 2012 11:25 ] |
Заголовок сообщения: | Re: OpenForth |
Хищник писал(а): В качестве практического решения предлагается шаблон Форт-машины Зачем нужен голый шаблон, когда существуют открытые релизы? |
Автор: | gudleifr [ Пн мар 05, 2012 12:40 ] |
Заголовок сообщения: | Re: OpenForth |
Хищник Поняли, что я имел в виду? Каждый будет брызгать своими слюнями, выдавая их за экспертную оценку. Если речь, действительно, идет о наболевшем, то проект сильно нуждается в двух вещах: 1) в заманухе, делающей его привлекательным (как-то больше ограничений, чем свободы - та самая "полевая кухня", против которой ты писал). Я не встречал здесь ни одного коллеги, который смог бы вот так сразу прицепить этот вагон к своему поезду; 2) в обосновании выбора (языка, скелета, идеи). Как показало обсуждения Форт-словарика, идеи есть у всех, а понимание идей (даже своих) - крайне редкое явление. P.S. WingLion писал(а): И хватит говорить... Больше не буду-у!
|
Автор: | `Kopa [ Пн мар 05, 2012 15:52 ] |
Заголовок сообщения: | Re: OpenForth |
gudleifr писал(а): Я не встречал здесь ни одного коллеги, который смог бы вот так сразу прицепить этот вагон к своему поезду; О каком "вагоне" идёт речь? О возможности прицепить заголовочный Cи (h) файл к Форт проекту?. Вроде не сложно, только насколько это нужно и когда? P.S. В чём техническая изюминка OpenForth от существующего многообразия выбора проектов Форт? |
Автор: | `Kopa [ Пн мар 05, 2012 16:03 ] |
Заголовок сообщения: | Re: OpenForth |
Хищник писал(а): Прикрепленный файл openforth.h может свободно использоваться (или не использоваться) в учебных, коммерческих или иных целях, со свободой предложить любую реализацию того или иного слова при любой степени завершенности системы. А совместимость реализованых слов как будет учитываться? т.к. в прототипах даже не описаны типы формальных параметров в описании слова, не говоря уже о семантике или ссылок, например на стандарты. |
Автор: | `Kopa [ Пн мар 05, 2012 16:16 ] |
Заголовок сообщения: | Re: OpenForth |
gudleifr писал(а): Как показало обсуждения Форт-словарика, идеи есть у всех, а понимание идей (даже своих) - крайне редкое явление. @ "А судьи кто?" |
Автор: | gudleifr [ Пн мар 05, 2012 16:27 ] |
Заголовок сообщения: | Re: OpenForth |
`Kopa писал(а): @ "А судьи кто?" Цитата: Я же под "творческим новаторством" понимаю изобретения, несущие новизну всему обществу, изобретения, которые общество готово признать, принять, усвоить и использовать, как говорил Ч.С.Пирс, "in the long run", то есть такие изобретения, которые войдут в наше общее богатство, в общий доступ, явят собой нечто большее, нежели частное достояние придумавшего. Умберто Эко. Пойдет?
Дня этого в творчестве должен непременно присутствовать критический подход. Ничего творческого нет в идее, высказанной в ходе "мозгового штурма" (brainstorming), брошенной небрежно - была не была!- и с восторгом подхваченной остальными, за неимением лучшего. Чтобы сделаться творчеством, идее надлежит быть взвешенной, продуманной, а также воспроизводимой, по крайней мере - воспроизводимы должны быть все виды технического новаторства. |
Автор: | вопрос [ Пн мар 05, 2012 16:44 ] |
Заголовок сообщения: | Re: OpenForth |
Цитата: Я же под "творческим новаторством" понимаю изобретения, несущие новизну всему обществу, изобретения, которые общество готово признать, принять, усвоить и использоват "плодотворные обобщения" они, в отличие от "удачных обобщений" - таких лёгких в форте - несколько или значительно более трудоемки |
Автор: | `Kopa [ Пн мар 05, 2012 16:48 ] |
Заголовок сообщения: | Re: OpenForth |
`Kopa писал(а): @ "А судьи кто?" Может и так быть.. Код: А судьи кто? - За древностию лет К свободной жизни их вражда непримирима, Сужденья черпают из забытых газет Времен Очаковских... А.С. Грибоедов gudleifr писал(а): Цитата: ... Чтобы сделаться творчеством, идее надлежит быть взвешенной, продуманной, а также воспроизводимой, по крайней мере - воспроизводимы должны быть все виды технического новаторства. Умберто Эко. Пойдет?Это обсуждается на сайтах посвящённых ТРИЗ и Методологии, а на данном форуме "всё попроще":) P.S. Каюсь. попался на "удочку" флуда или без ОпенФлуд не появится OpenForth? |
Автор: | Hishnik [ Пн мар 05, 2012 19:28 ] |
Заголовок сообщения: | Re: OpenForth |
Mihail писал(а): Зачем нужен голый шаблон, когда существуют открытые релизы? Не поверишь - пробовать. Кому-то - учиться. |
Автор: | `Kopa [ Пн мар 05, 2012 19:30 ] |
Заголовок сообщения: | Re: OpenForth |
Хищник писал(а): Предполагается, что самостоятельное заполнение структуры файла, приведенной в openforth.h, позволит, с одной стороны, реализовать различные подходы к компиляции, формированию структуры словарной статьи, организации стека и т.п., А можно предлагать некие прототипы решений (полуавтоматические) по заполнению структуры OpenForth? или обязательно через набирание через клавиатуру и детального описания реализуемого подхода? Например FVM Factory http://c-fvm.sourceforge.net/ |
Страница 1 из 8 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |