Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 01:50

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 85 ]  На страницу 1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Мой форт
СообщениеДобавлено: Ср окт 25, 2006 21:03 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 16, 2006 23:02
Сообщения: 65
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Здравствуйте!

Вот, пишу я свой форт (см. подпись). За основу взял ретрофорт, но поскольку изменил большую часть кода, считаю, что имею право называть его своим. Более того, я его активно использую и не пользуюсь никаким другим языком программирования. Доселе я на форте не программировал.

Ясен пень, хочется, чтобы мой форт был попрогрессивнее, поудобнее и помощнее. В связи с этим у меня вопрос: что мне такого в свой форт добавить, что уже есть в других фортах или ещё нет, но очень не хватает? И самое главное, что мне читать? (желательно на русском)

_________________
Я знаю только то, что я ничего не знаю. /(с) Сократ/
Мой форт | Мой проект ИИ


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Модель памяти, организация стеков, формат вызова системных функций, формат словарной статьи. Остальное приложится. А вот на неподходящую модель памяти будут плохо ложиться самые разные библиотеки.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 25, 2006 21:39 
Я читал твою дискуссию по поводу "идеального языка"... Мелькнуло там что в системе ещё DOES> нету.

Так DOES> уже добавил?


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

Зарегистрирован: Пн окт 16, 2006 23:02
Сообщения: 65
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Хищник писал(а):
Модель памяти, организация стеков, формат вызова системных функций, формат словарной статьи. Остальное приложится. А вот на неподходящую модель памяти будут плохо ложиться самые разные библиотеки.

А какая в винде модель памяти, кроме как flat? :shock: А всё остальное уже есть - слава богу, я его активно и весьма успешно использую.

Цитата:
Мелькнуло там что в системе ещё DOES> нету.

Так DOES> уже добавил?

Так я там написал, что оно мне не особо нужно, ибо есть аналогичные функции. А вообще его реализовать - раз плюнуть.

_________________
Я знаю только то, что я ничего не знаю. /(с) Сократ/
Мой форт | Мой проект ИИ


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
wormball писал(а):
А какая в винде модель памяти, кроме как flat? Shocked А всё остальное уже есть - слава богу, я его активно и весьма успешно использую.


Я тут немного неудачно выразился. Где сидит стек? Какой регистр на него указывает? Или на вершину стека указывает переменная? Как выделяется память? Код и данные совмещены? Есть ли отдельное адресное пространство под таблицу имен и полей связи (было такое в одной из версий спф)? Как передаются данные на стек windows? Ну и так далее. От этого зависит гораздо больше, чем от наличия каких-то слов или библиотек. В конце концов, при наличии универсального интерфейса к dll можно пользоваться всем, что в этих dll можно найти.


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

Зарегистрирован: Пн окт 16, 2006 23:02
Сообщения: 65
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Я, конечно, извиняюсь, но не могу представить себе ситуацию, когда это принципиально.

_________________
Я знаю только то, что я ничего не знаю. /(с) Сократ/
Мой форт | Мой проект ИИ


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
На первый взгляд кажется, что это вообще неважно, потому что мы же все спрячем внутрь слов. Но в итоге оказывается, что наличие в одном трансляторе какого-то слова и отсутствие этого слова в другом трансляторе ничего и не значат. Нет особенных проблем в том, чтобы добавить такое слово и во второй. Поэтому разнообразные DRAW-WINDOW, DRAWWINDOW и DRAW_WINDOW погоды не делают, поскольку вопрос тут только в том, "ну и какую стековую нотацию вам всем надо?". А вот если один транслятор умеет выделять память только по GlobalAlloc (иными словами: сам не выделяет), а другой при ALLOT, выходящем за пределы блока, устраивает smart-checking, и либо делает ресайзинг имеющейся памяти, либо кидает варнинг/еррор "это зачем вам три гигабайта???", разница рано или поздно становится весьма ощутимой. Например, почему я не пользуюсь СПФ? Да потому, что для организации вывода графики надо написать самому ВСЮ графику. То есть взаимодействие с ОС там построено иначе, нежели нужно мне. И вот такие, казалось бы, мелочи, положенные в основу транслятора, могут свести на нет весь эффект от форт-слов. То есть слова-то есть, но вызывать их может быть неудобно.


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

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Ну уж все и самому :) (о графике), зачем тогда gdi?

_________________
Меня нет, не будет и не было.


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
А вот в Delphi/Builder есть такой Canvas. То есть мне достаточно описать, какие фигуры я хотел бы видеть на экране, а все отрисовки делаются сами. Вызовы gdi, это конечно да. Но писать на них - это писать "чуть выше" уровня ассемблера. К тому же производительность графики при этом крайне низкая, нужны DirectX или OpenGL.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 26, 2006 10:08 
А это приводит меня к мысли что мой layout.f (как и xml_parser.f, оба из состава "браузера") тоже надо выводить как библиотеку. Будет этаким Cairo на Форте...

Впрочем об этом уже говорено...


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

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Нафиг, нафиг использовать VCL дельфи, это же кучка громозких файлов, хотя можно их использовать из форта тоже, да из любого языка. Да если речь про opengl то как раз удобней, да и быстрей будет использовать именно библиотеку opengl.dll от силикона, не дай бог пользоваться библой glaux(типа удобной надстройкой над opengl (больше метра)) от microsoft да к тому же она устарела что признает компания да и размерами она не блещет, зачем например чайник в 3D. Проще все же работать с апи gdi и opengl напрямую, да и интересней. Тотже canvac есть и label есть и многое другое. Да и кто сказал что Delphi выше асма :)) в ней труднее писать, элементарные вещи приходится делать через Ж... Уверяю Вас что если начать писать с самого начала компаненты в дельфе и на асме то времени больше потеряют именно в дельфе. Это так же как написать скажем библиотеку работы с консолью, согласитесь ее под асмом быстрей написать и отладить.

_________________
Меня нет, не будет и не было.


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

Зарегистрирован: Чт май 04, 2006 18:18
Сообщения: 456
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Хищник писал(а):
Например, почему я не пользуюсь СПФ? Да потому, что для организации вывода графики надо написать самому ВСЮ графику. То есть взаимодействие с ОС там построено иначе, нежели нужно мне.


Ну почему же ВСЮ? Вот например кусок есть... ~ygrek/lib/joopengl.f ~ygrek/prog/joopengl/
Использовал в лабах по мат. моделированию - ~ygrek/prog/iasa/matmod*

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


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

Зарегистрирован: Пн окт 16, 2006 23:02
Сообщения: 65
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Цитата:
А вот если один транслятор умеет выделять память только по GlobalAlloc (иными словами: сам не выделяет), а другой при ALLOT, выходящем за пределы блока, устраивает smart-checking, и либо делает ресайзинг имеющейся памяти, либо кидает варнинг/еррор "это зачем вам три гигабайта???"

Была у меня такая мысль, может быть, даже сделаю. В общем, не так сложно.

Цитата:
Да потому, что для организации вывода графики надо написать самому ВСЮ графику. То есть взаимодействие с ОС там построено иначе, нежели нужно мне.

А как тебе нужно? Вызовов функций из ДЛЛ недостаточно?

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

_________________
Я знаю только то, что я ничего не знаю. /(с) Сократ/
Мой форт | Мой проект ИИ


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
yGREK писал(а):
Ну почему же ВСЮ? Вот например кусок есть... ~ygrek/lib/joopengl.f ~ygrek/prog/joopengl/
Использовал в лабах по мат. моделированию - ~ygrek/prog/iasa/matmod*


Ну и где бы я это все искал? У меня нет возможности сидеть и ждать, пока кто-нибудь напишет то, что мне нужно.


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Pretorian писал(а):
Проще все же работать с апи gdi и opengl напрямую, да и интересней. Тотже canvac есть и label есть и многое другое.


Ну я сейчас как раз заканчиваю транслятор на движке OpenGL.

Pretorian писал(а):
Уверяю Вас что если начать писать с самого начала компаненты в дельфе и на асме то времени больше потеряют именно в дельфе. Это так же как написать скажем библиотеку работы с консолью, согласитесь ее под асмом быстрей написать и отладить

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


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

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


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

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


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

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