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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу 1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Лебедь, рак и щука -- а Форт и ныне там...
СообщениеДобавлено: Вт авг 08, 2006 14:12 
Осторожно! Личное мнение и личный же "опыт":

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

Да, фортеры по сути -- индивидуалисты (как вынужденно -- в виду малочисленности, так и по складу ума (хотя, не знаю...)). Да, они любят писать свой код. Это хорошо. Плохо то, что они чаще всего не пишут его, а переписывают, пишут одно и тоже, но каждый по-своему. Синдром "not invented here", который переводится как "Мы наш, мы новый мир построим!" (и что там ещё было про разрушение старого "до основанья"?).

Первое желание фортера -- написать свою мега-пупер-систему которая порвёт всех остальных (в их числе Delphi и VC++) как Тузик тряпку. Целью всегда является сакральное "а хоцца!". Это можно понять, но то что время и силы уходят, по сути дела, в ничто -- это факт. То что написание своей форт-системы занимает "относительно немного" времени не является оправданием такому времяпрепровождению.

Силы фортеров распылены по нескольким десяткам систем (как популярных, так и "самопальных"), еле-еле совместимых между собой (кто сказал: "ANS-94"?.. "Я прошу в маём доме не виражаться!" (с)). Следовательно -- активный обмен кодом, использование чужих наработок и совместная разработка затруднены, если вообще возможны.

Но даже в рамках одной системы мы видим тоже самое. Взглянем на /spf/devel/. Каждый пишет свои библиотеки. Каждый в своих программах использует только свои библиотеки. Понятно что разные применения требует разных библиотек, но всё таки... Дублей много.

"А мне легче написать самому и потом работать со своим, чем разбираться в чужом!". Есть такая точка зрения. Часто она даже верна. Но нельзя отрицать что использовать чужое было бы быстрее. Форт, по-моему, не write-only ("написано однажды, нечитаемо навеки"): большинство библиотек из дистрибутива SPF достаточно легко читаются. Оптимизатор Максимова выведем за скобки -- его надо использовать (или не использовать), а не разбирать. Так что это получается "слегка неправильно" говорить что проще писать заново новую библиотеку, чем разобраться как пользоваться чужой (то как работает можно оставить на потом, или "на никогда" (ага, мой случай)).

Но бывает, когда и в самом деле проще написать своё, чем разбирать что-то чужое. И часто дело даже не в том, что нет документации (требовать документировать свой код от программиста, чтобы только программисты же его потом и читали -- это, по-моему, чересчур), и даже комментарии тут не очень обязательны, как мне кажется. Пример, а тем более -- работающий пример, даст больше чем толстая книжка с описанием вашего API. Не только что надо вызывать и в каком порядке, но и как это использовать. Оно и самому полезно, всегда иметь тест для отладки библиотеки.

(Большое, конечно, спасибо Юрию Жиловцу за отличную документацию к отличным библиотекам, но вот только для db.f документация есть, а без примера как работать -- непонятно).

Я там не просто отделил пример от примера работающего. Есть такая штука: много библиотек из дистрибутива SPF просто не собираются. Дело ли в том что надо прицепить словарь Win32-шных констант или в том что в дистрибутиве возникло несоответствие -- не собирается и всё.

Подводим итоги:
1. Надо идти к людям. Не надо жаться в свой угол. В своём углу (читай: самолично написанной форт-системе) можно быть кем угодно, но только что с того?
2. Не надо терять время, не используя чужие наработки. Если к библиотеке есть претензии, то это повод не для написания аналогичной своей, а для наращения, улучшения уже имеющейся.
3. При написании библиотеки, хорошо бы дополнять её чёткими комментариями и примерами использования (можно в самой библиотеке, можно в отдельной программе).
4. Хорошо бы проверять свой код на "непрокачанном" spf.exe идущем в дистрибутиве, а то можете получить неработоспособность ваших библиотек и программ, что автоматически отгородит от вас остальных разработчиков. Вы по сути, будете работать со своим форком, отдельно от остальных.

Кстати, с пунктом 3 в SPF всё просто замечательно, вот только это db.f...

PS: мнения СТОЛПОВ (Чака Мура, в частности) по поводу совместимости конечно, заслуживают всяческого рассмотрения и исключительно интересны. Применение же их на практике -- увольте. "Бесконечно далеки они от народа" (с)


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт авг 08, 2006 15:03 
Не в сети
Аватара пользователя

Зарегистрирован: Пт май 05, 2006 06:19
Сообщения: 192
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
по опыту эксперементов с spf4
да согласен. по поводу дублирования и работоспособности,
васпользоватся библиатеками порой просто не возможно потомучто одна требует второе, второе в другой библиотеке третее там четвертое пятое .. обычно в папытках запустить что либо дальше поиска четвертого по цепи востребованости слов не хожу.
и такая история пимерно в половине случаев.
например ... чтож там из примеров то ... а, примеры реализации вызова FileOpenDialog и получения от него параметров ... штуки три присутствуют ... ниодин не запустился, в итоге сел просто пачитал MSDN на досуге и сделал сам, польза канечно от этого неоспарима, от чтения MSDNa

P.S. ну канечно не все так плохо :) другая же ~половина библиотек работает нормально :)

_________________
SPF


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт авг 08, 2006 16:41 
Если рассматривать Форт как основу построенную на определенных идеях,
то многообразие ему не мешает
Из видового многообразия формируются новые системы:)
Демократия в Форте может напомнить и анархию.
Плюс сфера приложения Форта многообразна и поэтому
в каждом применении могут быть свои решения.

P.S. Перспективность общих наработок важна, но еще важнее
не ставить препятствий для продуктивного написания ПО.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт авг 08, 2006 21:00 
Не в сети

Зарегистрирован: Сб май 06, 2006 18:43
Сообщения: 400
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Anonymous писал(а):
Из видового многообразия формируются новые системы:)


протобульон получается, а лучшем случае плесень, в то время как остальной мир давно ходит и летает

_________________
http://akps.ssau.ru/forth/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт авг 08, 2006 22:01 
Не в сети
Аватара пользователя

Зарегистрирован: Вс май 07, 2006 11:38
Сообщения: 279
Откуда: Slavyansk, Ukraine
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Левая резьба фортеров - это диагноз. Достаточно посмотреть сколько процентов из присутствующих здесь пишет еще и на таком языке как... русский. Прозу, поэзию, научные (или околонаучные) разработки...
Думаю "навести порядок" в мире Форт не возможно, т.к. это означает для фортера ограничение его свободы.
Если бы каждому языку соответсвовал флаг,- форту бы достался "Веселый Роджер". :)

_________________
Банзай!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт авг 08, 2006 22:18 
Не в сети

Зарегистрирован: Сб май 06, 2006 18:43
Сообщения: 400
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Kamikaze писал(а):
Если бы каждому языку соответсвовал флаг,- форту бы достался "Веселый Роджер". :)


не, америкосовский -- где каждой звездочке соответствует один фортер (в мире), и полоски -- естественно стек, или послойное построение системы

_________________
http://akps.ssau.ru/forth/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт авг 08, 2006 22:36 
Не в сети

Зарегистрирован: Чт май 04, 2006 18:18
Сообщения: 456
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Насчёт СПФ.
Это же open-source! Есть cvs. Есть spf-dev. Есть (главное) люди которые оперативно реагируют.
Обязательно надо присылать замечания/исправления.
Если что не компиляется - багрепорты в студию.
Например с теми же константами донедавна был бардак - два формата отличающихся на один байт...
Такие вещи обязательно надо править и сообщать если хотим иметь хороший Форт. И тут именно нужно сообщество. Запросы на документацию думаю тоже могут иметь положительную реакцию..

_________________
http://forth.org.ru/~ygrek


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт авг 08, 2006 22:45 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
А по-моему все гораздо интереснее. Многие фортеры пишут под каждую задачу свой форт!
Причем даже здесь они между собой не совместимы...
Вопервых с каждым новым фортом растет опыт и понимание процесса.
Во-вторых стандарт не предусматривает множества вещей из-за которых иногда просто не возможно поддерживать этот самый стандарт.
Ну и в третьих, многие из фортеров работают на решение задач, причем конкретных и им просто некогда все оформлять для окружающих. Вот и получается, что получается.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт авг 08, 2006 22:49 
Не в сети

Зарегистрирован: Чт май 04, 2006 18:18
Сообщения: 456
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
mrack писал(а):
васпользоватся библиатеками порой просто не возможно потомучто одна требует второе, второе в другой библиотеке третее там четвертое пятое .. обычно в папытках запустить что либо дальше поиска четвертого по цепи востребованости слов не хожу.
и такая история пимерно в половине случаев.

Требую конкретных примеров. Согласен что есть. Но ведь надо такое решать, а не оставлять на самотёк.

Цитата:
например ... чтож там из примеров то ... а, примеры реализации вызова FileOpenDialog и получения от него параметров ... штуки три присутствуют ... ниодин не запустился, в итоге сел просто пачитал MSDN на досуге и сделал сам, польза канечно от этого неоспарима, от чтения MSDNa

Это клевета :)
В стандартном дистре 4-017 есть реализации от ~day (2 штуки) и от ~nn
~nn/lib/win/wintest.f и вправду не пускается
~day/joop/samples/wintest.f прекрасно работает

_________________
http://forth.org.ru/~ygrek


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср авг 09, 2006 09:09 
Не в сети
Аватара пользователя

Зарегистрирован: Пт май 05, 2006 06:19
Сообщения: 192
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
~day/joop/samples/wintest.f

1. запросил "{" -- указал "REQUIRE { lib\ext\locals.f"
2. запросил OSTHROW -- этого слова ненашол ...
вернее нашол его использование в ~day\joop\win\font.f и ~day\joop\win\window.f а гдеж определение ?

а? yGREC :)

_________________
SPF


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср авг 09, 2006 13:12 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
oleg писал(а):
Многие фортеры пишут под каждую задачу свой форт!


Вот этого я не понимаю. Форт это просто набор именованных процедур.
Среди которых есть средства создавать любые другие, среди которых
могут быть и языки программирования. Откуда возникает потребность
в новой Форт системе?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср авг 09, 2006 13:17 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
profiT писал(а):
Плохо то, что они чаще всего не пишут его, а переписывают, пишут одно и тоже, но каждый по-своему. Синдром "not invented here", который переводится как "Мы наш, мы новый мир построим!" (и что там ещё было про разрушение старого "до основанья"?).


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

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср авг 09, 2006 13:48 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
mrack писал(а):
по поводу дублирования и работоспособности,
васпользоватся библиатеками порой просто не возможно потомучто одна требует второе, второе в другой библиотеке третее там четвертое пятое ..:)


Как минимум, можно использовать примитивные библиотеки. Если меня чем-то не
устраивает чья-то библиотека, то я завожу домашний каталог автора в своем каталоге
и там модифицирую эту библиотеку. Нужен программист основной задачей которого,
было приводить библиотеки к совместимости между собой, к единому представлению и к
единому внешнему оформлению. Задача скушная, нудная, требует высокой квалификации
но не благодарная. Т.к. по поводу единых принципов бытует слишком много противоречивых
мнений. Единые принципы должны проверится на практике.
Таким образом, мы опять приходим к экономической заинтересованности.
И дело сдесь не только в заинтересованности. Нужен критерий востребованности своих
продуктов.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср авг 09, 2006 13:57 
Не в сети

Зарегистрирован: Чт май 04, 2006 18:18
Сообщения: 456
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
mrack писал(а):
~day/joop/samples/wintest.f

1. запросил "{" -- указал "REQUIRE { lib\ext\locals.f"
2. запросил OSTHROW -- этого слова ненашол ...
вернее нашол его использование в ~day\joop\win\font.f и ~day\joop\win\window.f а гдеж определение ?

а? yGREC :)


А можно _конкретней_? Сообщение об ошибке, строка, файл, что за дистрибутив.
Я говорю про spf4-017 - http://sourceforge.net/project/showfile ... _id=388454
Слова OSTHROW там вообще нигде нет - не используется и не определяется.
Запрашивать { он не может ибо в wintest.f имеется
REQUIRE FrameWindow ~day\joop\win\framewindow.f
дальше по цепочке
REQUIRE Window ~day\joop\win\window.f
и
REQUIRE vocLocalsSupport lib\ext\locals.f
Т.е. локалсы подключаются.

Единственный вариант - у вас где-то раньше определено слово vocLocalsSupport.
Или какие-то другие исходники.
НО я говорю про стандартный дистрибутив где это всё нормально работает.
Скачайте и проверьте ещё раз.

_________________
http://forth.org.ru/~ygrek


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср авг 09, 2006 14:09 
Не в сети

Зарегистрирован: Чт май 04, 2006 18:18
Сообщения: 456
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Mihail писал(а):
Нужен программист основной задачей которого,
было приводить библиотеки к совместимости между собой, к единому представлению и к
единому внешнему оформлению. Задача скушная, нудная, требует высокой квалификации
но не благодарная. Т.к. по поводу единых принципов бытует слишком много противоречивых
мнений. Единые принципы должны проверится на практике.
Таким образом, мы опять приходим к экономической заинтересованности.
И дело сдесь не только в заинтересованности. Нужен критерий востребованности своих
продуктов.

Насчёт оформления библиотек полностью согласен. По крайней мере исключить устаревшие и дублирующиеся либы из дистра надо обязательно. Предлагаю продолжить эту тему в spf-dev.

_________________
http://forth.org.ru/~ygrek


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу 1, 2, 3, 4, 5  След.

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


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

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