Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт окт 27, 2020 02:20

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Флуд: Как бы вы реализовали мн. наследование в ООП на фо
СообщениеДобавлено: Пн сен 14, 2020 11:43 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1052
Благодарил (а): 1 раз.
Поблагодарили: 8 раз.
KPG писал(а):
Опять не понял посыла и сути вопроса. :)
Программный код - созданный в рамках Win32Forth экосистемы. Думаете его нет? (примеры в самой системе, сторонние разработки ... есть и игры и "субд", "Сапр" и варианты "ИИ", и возможно не только в демо-разработках...)
Сам, например, делал и применял Форт-систему программирования для процессора PDP-11 на Win32Forth.


Я уверен, что в рамках Win32Forth экосистемы есть программный код)
Вопрос в другом, что этот код собственно делает.
Вы же, как я понимаю, предлагаете переписать ВСЕ ПРОЕКТЫ НА Win32Forth В ООП-СТИЛЕ.
Короче, больше конкретики)

Ilya писал(а):
Например nnCron точно использует в своём составе либы (net, GUI), которые в свою очередь базируются на class.f (ООП от автора).

Это здорово, раз там есть ООП. то, надеемся, что он использовался по делу.
И?

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Флуд: Как бы вы реализовали мн. наследование в ООП на фо
СообщениеДобавлено: Пн сен 14, 2020 12:10 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1284
Благодарил (а): 3 раз.
Поблагодарили: 47 раз.
Victor__v писал(а):
Я уверен, что в рамках Win32Forth экосистемы есть программный код)
Вопрос в другом, что этот код собственно делает.

Это, что такой специфичный флуд? :)
Для чего программа создаётся, то в ней и делается в рамках реализованного кода!


Victor__v писал(а):
Вы же, как я понимаю, предлагаете переписать ВСЕ ПРОЕКТЫ НА Win32Forth В ООП-СТИЛЕ.
Короче, больше конкретики)

Где я такое говорил?
Отнюдь мне не нравится идея ООП для Форт, но, например, Гуишный интерфейс программы вполне с ним неплохо уживается.
Если интересный проект реализован в рамках какой то Форт-системы, то не обязательно его переписывать под другую Форт-систему, хотя заготовку проекта Enity.f -редактора узлов (Win32Forth) переписал и улучшил в рамках SPF4 и назвал Простой редактор узлов :) (первое, с чем там столкнулся при его переносе, что в Win32Forth совсем другой порядок вызова параметров функций Win32API)

P.S. Какой конкретики?
Конкретика присутствует в коде проектов сделанных в рамках той или иной Форт-системы.
Предлагаете начать описывать конкретные проекты и что и как в них реализовано с применением того или иного Форт?


Последний раз редактировалось KPG Пн сен 14, 2020 12:23, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Флуд: Как бы вы реализовали мн. наследование в ООП на фо
СообщениеДобавлено: Пн сен 14, 2020 12:20 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1052
Благодарил (а): 1 раз.
Поблагодарили: 8 раз.
KPG писал(а):
Можно ещё подумать о совмещении с ООП и программным кодом из Win32Forth, как частным вариантом полезного расширения Форт-системы. (хотя использование такого Форт ООП немного геморно и противоречит самому использованию базиса Форт в таком варианте его расширения, столкнулся с эти когда улучшал функционал поддержки scite.dll в IDE Win32Forth )


KPG, давайте еще раз. Что вы предлагаете сделать. По пунктам.

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Флуд: Как бы вы реализовали мн. наследование в ООП на фо
СообщениеДобавлено: Пн сен 14, 2020 12:24 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1284
Благодарил (а): 3 раз.
Поблагодарили: 47 раз.
Victor__v писал(а):
KPG писал(а):
Можно ещё подумать о совмещении с ООП и программным кодом из Win32Forth, как частным вариантом полезного расширения Форт-системы. (хотя использование такого Форт ООП немного геморно и противоречит самому использованию базиса Форт в таком варианте его расширения, столкнулся с эти когда улучшал функционал поддержки scite.dll в IDE Win32Forth )


KPG, давайте еще раз. Что вы предлагаете сделать. По пунктам.

Как можно что то советовать, если интересы применения Форт у каждого Форт-юзера могут быть разные?

P.S. В приведённом проекте ясно же указано, что была идея улучшить поддержку в IDE Win32Forth редактировния Форт кода, в частности добавлена поддержка фолдингa кода и сама scite.dll пересобрана для подсветки Форт-кода по ранее озвученному варианту в рамках местного форума. При этом ещё столкнулся, что пересборка Win32Forth 6.15_ не запускалась в рамках разных Windows. (например можно ещё наблюдать, что пример консольного тетриса в ней не работает, хотя в других версиях с этим нет проблем, а также не собирался пример-программы HeXe с примерами OpenGL)

Конечно же, хотелось иметь возможность и запуска кода сделанного под Win32Forth в рамках SPF4, но это не так принципиально (учитывая все сложности сего действия) т.к. Форт достаточно остаётся Фортом в рамках разных Форт-систем и к тому же перенос может быть не так целесообразен как возможность на разной кодовой базе сделать какое то интегрированное решение.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Флуд: Как бы вы реализовали мн. наследование в ООП на фо
СообщениеДобавлено: Пн сен 14, 2020 14:24 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7052
Благодарил (а): 17 раз.
Поблагодарили: 116 раз.
KPG писал(а):
Предлагаете начать описывать конкретные проекты и что и как в них реализовано с применением того или иного Форт?

Ой как неожиданно! :D Давно уже пора.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Флуд: Как бы вы реализовали мн. наследование в ООП на фо
СообщениеДобавлено: Ср сен 16, 2020 17:26 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1052
Благодарил (а): 1 раз.
Поблагодарили: 8 раз.
Вопрос остаётся в силе: как прикрутить к реализации ООО на форте множественное наследование :)) :shuffle;
У кого какие идеи.

KPG, вот ваш выход)
Поделитесь ссылочкой на форт-систему, в которой есть реализация ООП с множественным наследованием :oops:

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Флуд: Как бы вы реализовали мн. наследование в ООП на фо
СообщениеДобавлено: Ср сен 16, 2020 18:12 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1284
Благодарил (а): 3 раз.
Поблагодарили: 47 раз.
Victor__v писал(а):
KPG, вот ваш выход)
Поделитесь ссылочкой на форт-систему, в которой есть реализация ООП с множественным наследованием :oops:

Как же это узнать, если нет такой практики ООП для Форт? :)

P.S. Может Mops близок к необходимому функционалу?

The Mops Programming Language—Part 1
The Mops Programming Language—Part 2
(Multiple Inheritance - множественное наследование - упоминается во второй части)
Код:
Как и несколько других объектно-ориентированных языков, Mops обеспечивает множественное наследование, при котором класс может иметь более одного непосредственного суперкласса и, таким образом, две или более разных линий происхождения, так же как у человека есть и мать, и отец, и наследует характеристики от обоих. Возможность множественного наследования позволяет смешивать функциональные возможности двух или более существующих классов в новом классе. (Сначала попробуйте классы с единичным наследованием.) При необходимости это очень мощная функция, которая часто считается пробным камнем полностью объектно-ориентированной реализации.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Флуд: Как бы вы реализовали мн. наследование в ООП на фо
СообщениеДобавлено: Ср сен 16, 2020 22:35 
Не в сети

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 81
Благодарил (а): 10 раз.
Поблагодарили: 5 раз.
Hishnik писал(а):
Как написать на Форте что-то еще, что есть в другом языке.
Видимо, компактность решений на Форте тут мало чем поможет сама по себе. Если нужна поддержка структур данных, ее придется как-то писать. Мы пробовали, неоднократно, в стиле Форта решение пока не находится (в том смысле, что код короткий, независимый и т.д.).

Часто ли нужны сложные структуры данных? Правильно ли я понял, что в Вашем случае их реализация на Форте не сильно отличалась от реализаций на других языках?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Флуд: Как бы вы реализовали мн. наследование в ООП на фо
СообщениеДобавлено: Чт сен 17, 2020 02:25 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7052
Благодарил (а): 17 раз.
Поблагодарили: 116 раз.
zma писал(а):
Часто ли нужны сложные структуры данных?

Вот тут во многом зависит от того комплекта инструментов, который используется. Если Форт заранее позиционируется как скриптовый, то сложные структуры в программе необязательны. По крайней мере, специально брать Форт в надежде, что там как-нибудь будут реализованы структуры, немного странно.
zma писал(а):
Правильно ли я понял, что в Вашем случае их реализация на Форте не сильно отличалась от реализаций на других языках?

В целом да. Чего-то особенного, укладывающегося в стек/регулярную грамматику, не нашлось. Структуры были в основном синтаксической мимикрией под аналогичные конструкции в других языках.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Флуд: Как бы вы реализовали мн. наследование в ООП на фо
СообщениеДобавлено: Чт окт 01, 2020 22:08 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1052
Благодарил (а): 1 раз.
Поблагодарили: 8 раз.
Сам спрашиваю сам предлагаю варианты)

1) Квадратно-гнездовой способ.
Суть: при мн. наследовании класса размер объекта изменяется не на всю длинну объекта-родителя, а на CELL (ячейку), в которой будет указатель на объект 2-го родителя.
Соотвественно все слова-методы надо перекомпилировать.
По факту будет получать значения из указателя по указателю.

2) Хранить во ВСЕХ объектах переменную со смещением для доступа к переменным.
Соотвественно, у всех объектов в этой переменной будет записан 0 (ноль).
А вот при множественном наследовании значение этой переменной будет иным. +40, например.

3) Такой простой, что уже сложно.
При создании класса дополнительно сохраняем его исходник.
И когда нам потребуется сделать наследование от 2 и более классов, мы просто прогоним заранее сохраненную строку через EVALUATE

Просто, дешево и сердито :)

_________________
Цель: сделать 64-битную Нову под Винду


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

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


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

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


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

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