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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 45 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Обзор Форт систем : сильные и слабые стороны
СообщениеДобавлено: Пт июл 14, 2006 05:10 
Не в сети
Moderator
Moderator
Аватара пользователя

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

В инете сейчас можно найти не меньше сотни различных фортов, и наверняка кто-нибудь из здесь находящихся изучал на что они способны. Может найдется некоторое количество человек, способных описать "приятные мелочи" и особенности этих систем с критической (а не саморекламной) точки зрения.
Лично я пользовался несколькими фортами: info4th с которого начлось мое знакомство с фортом и о чем я сейчас ни сколько не жалею:), tcom, smal32, spf3,4.
С остальными системами у меня достаточно поверхностное знакомство, зачастую на уровне простого просмотра исходников.


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Итак, info4th от фирмы техноФорт, я начинал с версии 4, кажется. Была еще 5-ая, но я про нее не могу сказать ничего.
Пакет содержал исходные тексты системы, документацию и примеры.
info4th - 16 битная система, заточенная под ДОС, поддерживает многозадачность, работает с плавающей точкой без сопроцессора, CGA графика, постфиксный ассемблер. Поддерживает 83 ansi стандарт.
Из ощущений, негативных- запомнилась работа с редактором блоков, к которому я привык, но помню, что он был ужасно неудобен. И еще достаточно неудобна была работа со словарями, так как стека словарей в нем еще нет, но словари хешированные( то есть поиск быстрый).
Так как програма сохранялась с форт-системой вместе, самое маленькое приложение не может быть меньше 20 кб, впрочем этот размер можно уменьшить убрав из текста компилятора ненужные слова, что достаточно сложно сделать- нужно хорошо разобраться с исходным текстом системы.


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

Зарегистрирован: Пт май 12, 2006 00:52
Сообщения: 88
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
JBForth, платформенно независимая система (на JVM 1.5). Доступна на SVN в виде исходников и компилированной версии, документации, как водится, отдельной нет (но есть описания особенностей в рамках проекта L2J Fortress, в чистом виде - ожидается понемногу), примеры реального использования - в рамках L2J Fortress.

Плюсы: межплатформенность, сборка мусора, нестандартный Форт в отношении адресов и указателей (более защищённый), но при этом стандартный идеологически (скажем, есть CREATE .. DOES>). Легко расширяется, легко взаимодействует во время исполнения и компиляции с Java. Используется в реальном проекте (скрипты и команды игроков/администраторов для серверов MMORPG Lineage2).

Минусы: не самая высокая скорость (сейчас всего раза в два быстрее Perl), невысокая насыщенность ядра (слова пишутся по мере надобности в них), разработка висит фактически на одном человеке (за всё время нахождения проекта на SVN там только пара коммитов от других разработчиков), отсутствие обсуждения текущего состояния системы и её развития (нынешние пользователи покорно работают только с тем, что есть).

_________________
... чтобы понять рекурсию, нужно сперва понять рекурсию ...


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

Зарегистрирован: Сб май 06, 2006 18:43
Сообщения: 400
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
oleg писал(а):
Может найдется некоторое количество человек, способных описать "приятные мелочи" и особенности этих систем с критической (а не саморекламной) точки зрения.


SMAL32:

система великолепная, но в личной практике столкнулся с двумя проблемами, из-за которых перешел на SP-FORTH в качестве инструментальной системы, и на свою реализацию Форта

1. проблемы с собственной обработкой DOSовских прерываний -- было ощущение что старая версия DPMI-стаба PMODE не давала определить собственный обрабочик в 32-битном режиме

2. не работает под WinXP из-за того же стаба PMODE

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


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

Зарегистрирован: Вс май 07, 2006 11:38
Сообщения: 279
Откуда: Slavyansk, Ukraine
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Balancer писал(а):
JBForth, платформенно независимая система...

Альтернатива:
http://www.holonforth.com/index.htm
http://www.holonforth.com/tools/java/jforth.htm
Плюсы: удобный IDE со стандартно-сине-желто-DOSовым интерфейсом
Минусы: мертв, как и все остальные форты.

_________________
Банзай!


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

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Kamikaze писал(а):
удобный IDE со стандартно-сине-желто-DOSовым интерфейсом

Разве это удобство? :shock:
Удобно - это когда я могу себе сам все цвета выставить.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
forth@km.ru писал(а):
SMAL32:

система великолепная, но в личной практике столкнулся с двумя проблемами, из-за которых перешел на SP-FORTH в качестве инструментальной системы, и на свою реализацию Форта

1. проблемы с собственной обработкой DOSовских прерываний -- было ощущение что старая версия DPMI-стаба PMODE не давала определить собственный обрабочик в 32-битном режиме

2. не работает под WinXP из-за того же стаба PMODE


Отмечу, что в смал32 была только одна неприятная вешь: отсутствие исходных текстов системы. Все остальное на ура:
-наличие встроенного удобного отладчика(больше я ни в одной форт-системе не встречал);
-приятный встроенный ассемблер (единственной слабостью которого, была невозможность создания макросов);
- наличие подключаемых модулей - то есть можно было заранее откомпилировать часть кода, сохранить его в файл, и затем использовать.
- удобная структура словарей ( я имею ввиду наличие трех словарей: Root Hidden Forth ( чего на мой взгляд очень не хватает SPF, у которого в одном главном словаре все включая мусорные слова)
- удобная помощь, чего опять же нет в том же СПФ;
- встроенный целевой компилятор;
- 32-битная работа в ДОС ( предел 64 мб - связан с дос-экстендером)
- несмотря на перетяжеленную словарную статью, формат которой, кстати задокументирован поиск по словарю очень быстрый, как следствие, очень быстрая сборка.

Я бы сказал, что это лучшая из виденных мною отечественных форт-систем, на которую должны равняться все остальные фортописатели.
Увы, следующую систему, не смотря на анонс Ларионов не выпустил до сих пор 8(((((

Да, был еще один минус - ужасно большие определения некоторых слов( совсем не форт-стиль).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 17, 2006 15:19 
Я так и не понял восторга перед смал32.

oleg писал(а):
Отмечу, что в смал32 была только одна неприятная вешь: отсутствие исходных текстов системы.


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

Цитата:
Все остальное на ура:
-наличие встроенного удобного отладчика(больше я ни в одной форт-системе не встречал);


Мне кажется, из форт-отладчиков лучший в WIN32FOR, да и в FPC лучше чем в смал32.
Для SPF я сделал: forth.spb.su:8888/DBGWC10.rar
на нотивном уровне: forth.spb.su:8888/dbg4.f

Цитата:
-приятный встроенный ассемблер (единственной слабостью которого, была невозможность создания макросов);


Я его перетащил в СПФ. Я его применил в своей ФортОС и в Форте для Колибри.
Я добавил средства структурного программирования и возможность, в фигирных
скобках вставлять Форт-выражения для вычисления литералов.

Цитата:
- наличие подключаемых модулей - то есть можно было заранее откомпилировать часть кода, сохранить его в файл, и затем использовать.


Единственное, что это дает - это скрыть исходный код.
Я сторонник свободного доступа к информации ради прогресса.

Цитата:
- удобная структура словарей ( я имею ввиду наличие трех словарей: Root Hidden Forth ( чего на мой взгляд очень не хватает SPF, у которого в одном главном словаре все включая мусорные слова)


Мусорные слова только для моего оптимизатора. Hidden создать можно, он
лично мне не особо нужно. По моему, в одном словаре Forth смал32, никем
неиспользовнных слов больше чем в СПФ.

Цитата:
- удобная помощь, чего опять же нет в том же СПФ;


Я не помню ссылку на HLP файл к СПФ. С СПФ мне и так все ясно.
При http://www.nncron.ru/ к СПФ хорошая документация.
Помню, что в документации смал32 я много чего не мог найти.

Цитата:
- встроенный целевой компилятор;


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

Цитата:
- 32-битная работа в ДОС ( предел 64 мб - связан с дос-экстендером)


Давно ДОС не использую.

Цитата:

- несмотря на перетяжеленную словарную статью, формат которой, кстати задокументирован поиск по словарю очень быстрый, как следствие, очень быстрая сборка.


В любом Форте компиляция достаточно быстрая.
Скорость же скомпилированного кода, наверняка, очень низкая.

Еще редкий стандарт. Еще мало неработок.


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

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


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Mihail писал(а):
Я так и не понял восторга перед смал32.

Тут дело вкуса.
Гость писал(а):
oleg писал(а):

Отмечу, что в смал32 была только одна неприятная вешь: отсутствие исходных текстов системы.


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

Не совсем верно. Реализация того или иного слова не всегда важна, кстати в смал32 многие слова реализованы ужастно( тот же interpert например). А вот документация вещь достаточно важная и в смале она есть и в удобном виде.
Mihail писал(а):
Мне кажется, из форт-отладчиков лучший в WIN32FOR, да и в FPC лучше чем в смал32.

Мне так не кажется. к тому же WIN32FOR появился позднее.
Mihail писал(а):
Цитата:

-приятный встроенный ассемблер (единственной слабостью которого, была невозможность создания макросов);

Я его перетащил в СПФ. Я его применил в своей ФортОС и в Форте для Колибри.
Я добавил средства структурного программирования и возможность, в фигирных
скобках вставлять Форт-выражения для вычисления литералов.

Большое спасибо за это. Я его пользую 8)
Mihail писал(а):
Цитата:

- наличие подключаемых модулей - то есть можно было заранее откомпилировать часть кода, сохранить его в файл, и затем использовать.


Единственное, что это дает - это скрыть исходный код.

Тем не менее это бывает нужно. К тому же это возможность уменьшить время компиляции.

Mihail писал(а):
Цитата:

- удобная структура словарей ( я имею ввиду наличие трех словарей: Root Hidden Forth ( чего на мой взгляд очень не хватает SPF, у которого в одном главном словаре все включая мусорные слова)

Мусорные слова только для моего оптимизатора. Hidden создать можно, он
лично мне не особо нужно. По моему, в одном словаре Forth смал32, никем
неиспользовнных слов больше чем в СПФ.


А вот и не согласен. В смале был очень быстрый поиск по словарям - в СПФ ужастно тормозной. На моем компе тот же дизасемблер собирается на смале в два с лишним раза быстрее, чем на СПФе и
это при том, что в смале используется прямой шитый код, который гарантированно более тормозной
. Напомню, что дольше всего обрабатываются литералы 8) Мусорные слова, коих в спф не мало, сильно тормозят процесс.

Кстати отдельный вопрос - как можно проще исключить оптимизатор из пакета СПФ, просто выкинуть не достаточно 8(
Mihail писал(а):
Я не помню ссылку на HLP файл к СПФ. С СПФ мне и так все ясно.
При http://www.nncron.ru/ к СПФ хорошая документация.
Помню, что в документации смал32 я много чего не мог найти.

странно. я находил практически все кроме исходных текстов, которые часто приходилось декомпилировать.

Mihail писал(а):
Давно ДОС не использую.

А я и сейчас - легче возиться с железом.
Я не знаю удобного способа обращаться к тем же портам в SPF4.
oleg писал(а):
В любом Форте компиляция достаточно быстрая.
Скорость же скомпилированного кода, наверняка, очень низкая.

Еще редкий стандарт. Еще мало неработок.


Нет, вполне приличная. К тому же многое зависит от решаемых задач и возможности использовать ассемблерный код. А насчет скорости компиляции, то спф очень большой тормоз! А если у вас еще и привычка делать перед подключением программ ONLY ROOT ALSO FORTH ALSO то СПФ тормозит еще сильнее ( а вот смал32 нет 8)


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

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


у кого есть с ним контакт -- затащите его пожайлуста в форум

ЗЫ: за что Ларионова крайне уважаю -- за его нелень в написании хорошей документации, ну и за великолепные реализации Форта, что GP-FORTH, что SMAL32

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


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

Зарегистрирован: Вт май 30, 2006 14:52
Сообщения: 18
Откуда: Таганрог, Ростовской обл.
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
На мой взгляд в SMAL32 есть очень хорошая вещь - отметание всего мусора (вплоть до имен слов ) при построении исполняемого .EXE файла. Это немаловажное свойство, особенно когда пишешь программу, и не хочешь чтобы её быстренько вскрыли. Утяжеление заголовка словарной статьи а, также наличие большого количества слов в ядре при этом не имеет никакого значения!
Меняется даже стиль программирования. В подключемые библиотеки я обычно включаю максимальное количество слов практически на все случаи. А потом не задумываясь просто всё это подключаешь словом include.
Я один раз даже поинтеросовалься сколько занимает система в памяти перед генерацией исполняемого файла - 32 мбайта!, а на выходе - 182 кбайта!
Даже интересно, почему в SPF этого еще не сделали?


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

Зарегистрирован: Чт май 04, 2006 22:43
Сообщения: 78
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
И ничего хорошего в этом на самом деле нет. Это не форт-стиль. Программы просто не должны быть настолько большими. Насчет СПФ - я долго думал над тем, как сделать генерацию "чистых" екзешников. Но вовремя понял, что овчинка не стоит выделки. Гораздо проще взять компактный retroforth (10к), написать 10-20к кода, встроить в бинарник (код компилируется при запуске) и получить на выходе компактную программку.


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

Зарегистрирован: Вт май 30, 2006 14:52
Сообщения: 18
Откуда: Таганрог, Ростовской обл.
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Icefall писал(а):
И ничего хорошего в этом на самом деле нет. Это не форт-стиль.

Я рассуждаю с позиции практического а, не "академического" программирования. Клиенту абсолютно всё равно в каком стиле я работаю, ему
бы готовую программу да ещё "вчера".
Icefall писал(а):
компактный retroforth (10к)

Размер ядра не имеет значения (ядро SMAL32- ~80 kb)! Основной "мусор" идет от подключения к проекту ранее наботанных материалов (библиотек). А подключение их методом CUT - PASTE в текстовом редакторе это нонсенс. Попробуйте выбрать из файла mmsystem.h нужные вам только в этом проекте константы и структуры ...???
Icefall писал(а):
что овчинка не стоит выделки.

Поверьте на слово - стоит!


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

Зарегистрирован: Чт май 04, 2006 22:43
Сообщения: 78
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Я знаю, откуда берется "мусор". Только не надо делать форт экскаватором для него. Пусть его разгребают те, кто наплодил (то бишь M$); юзайте VC++ и будет вам счастье. Если на то пошло, клиенту ведь все равно, какой язык вы используете. А для меня форт-стиль - очень даже практический аспект программирования, позволяющий в первую очередь упростить себе жизнь. Я стараюсь свести к минимуму работу с внешними api и сосредоточится на полезной работе.
Цитата:
Попробуйте выбрать из файла mmsystem.h нужные вам только в этом проекте константы и структуры ...???
Только так и делаю :) Со структурами справляюсь с помощью create - уже описывал как.


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

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


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

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


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

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