Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Сб июл 20, 2019 12:06

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: ООП в форте как он должен выглядеть?
СообщениеДобавлено: Вт апр 23, 2019 10:19 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 850
Благодарил (а): 1 раз.
Поблагодарили: 7 раз.
Hishnik писал(а):
А сопоставление словарей и объектов уже было?

Лично автор этого сообщения пилит свою реализацию ООП, которая уже облегчает по мнению автора процесс написания программ так или иначе работающих с объектами.
Поэтому смысл Вашего сообщения несколько ускользает от моего понимания.
Проще говоря, что имеется ввиду?

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ООП в форте как он должен выглядеть?
СообщениеДобавлено: Вт апр 23, 2019 23:30 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6719
Благодарил (а): 15 раз.
Поблагодарили: 107 раз.
Victor__v писал(а):
Проще говоря, что имеется ввиду?

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

Тем не менее, попытки сделать ООП в Форте возникают достаточно регулярно. У меня даже возникло соображение, что дело может быть и не в ООП как таковом, а в реализации определенного стиля программирования, или просто разработке удобного синтаксиса. Потому что регулярное появление у разных разработчиков схожих идей свидетельствует скорее о наличии объективной потребности в чем-то похожем на объекты.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ООП в форте как он должен выглядеть?
СообщениеДобавлено: Вт апр 23, 2019 23:51 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 850
Благодарил (а): 1 раз.
Поблагодарили: 7 раз.
Как я дошёл до такой жизни.

Объект суть структура отражающая ту или иную программную сущность (масло масленное).
И должны быть слова, которые могут работать с этими структурами.
И получается, что как-то напряжно каждый раз передавать доп. параметром указатель на эту самую структуру, особенно в служебных словах.
Если его как-то завуалировать, то процесс идёт проще (я сделал черел лок. переменную как в СПФ-ской либе, микроклассов).
Да и синтаксис можно упростить.
К примеру, вместо того, чтобы писать что-то вроде file-strut-sizem men-struct-size и пр.
Писать SIZE-OBJ: file SIZE-OBJ: men
Меньше путаницы.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ООП в форте как он должен выглядеть?
СообщениеДобавлено: Сб апр 27, 2019 20:35 
Не в сети

Зарегистрирован: Сб июл 23, 2016 23:15
Сообщения: 9
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Цитата:
И получается, что как-то напряжно каждый раз передавать доп. параметром указатель на эту самую структуру, особенно в служебных словах.


Да, так удобно записывать. Только вот на низком уровне эти параметры всё равно передаются, скрытно. В "крестах" (C++) this передаётся в ECX (в 32 битном варианте).

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

Типа на тебе костыли - на них безопаснее. И пофиг, что без костылей ты можешь бегать и прыгать, а на костылях нет.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ООП в форте как он должен выглядеть?
СообщениеДобавлено: Сб апр 27, 2019 21:10 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 850
Благодарил (а): 1 раз.
Поблагодарили: 7 раз.
reijii писал(а):
Цитата:
И получается, что как-то напряжно каждый раз передавать доп. параметром указатель на эту самую структуру, особенно в служебных словах.


Да, так удобно записывать. Только вот на низком уровне эти параметры всё равно передаются, скрытно. В "крестах" (C++) this передаётся в ECX (в 32 битном варианте).

Да ладно (тут мем "лицо Якубовича")
Я и не знал :))

По остальной части.
Абстрагироваться от этого можно. Это тупо повышает понятность кода.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ООП в форте как он должен выглядеть?
СообщениеДобавлено: Сб апр 27, 2019 22:36 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 561
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 22 раз.
Victor__v писал(а):
Объект суть структура отражающая ту или иную программную сущность (масло масленное). И должны быть слова, которые могут работать с этими структурами.
сущность, структура, все это можно представить как запись. А слово для создания записей в спф-форте можно подсмотреть. Это слово -- суть прибавление смещения от начала структуры. И больше ведь ничего не надо.

0 \ Определение объекта :
...
CЕLL -- Имя_метода
...
CONSTANT Размер_объекта

Имя_экземпляра_объекта CREATE Размер_объекта ALLOT

' Метод Имя_экземпляра_объекта Имя_метода ! \ Инициализация виртуального метода

<параметры> Имя_экземпляра_объекта Имя_метода EXECUTE

Victor__v писал(а):
Это тупо повышает понятность кода.
Интуитивная понятность кода хороша пока не начнешь ловить ошибки. А тогда нужна не интуитивная, а абсолютная понятность. А она достигается минимумом сущностей. Ведь мне чтобы отловить ошибку придется пол твоей Новы разгребать, чтобы уяснить что это за объекты ты там наклепал, как они работают и не там ли косяк зарылся. Вот если ты пишешь Нову только для себя, то и понятность нужна только для тебя. Тогда конечно можно наворотить что угодно.

Мысль - не надо добавлять сущностей, которые принципиально нового не дают и лишь следуют моде. Ведь какой огород ни городи все равно все сведется к
<параметры> Имя_экземпляра_объекта Имя_метода EXECUTE
и менимальнее не сделать. А это достигается добавлением единственного
: -- ( n1 n2 -- n1+n2 ) CREATE OVER , + DOES> @ + ;


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

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


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

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


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

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