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

...
Google Search
Forth-FAQ Spy Grafic

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




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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Тема для флейма.

Решил продолжить писать редактор и столкнулся с одной проблемой. В коде стало сложнее разбираться.
Поэтому решил это как-то оформить.
Вид получился ООП-ный: структура данных плюс функции для работы с этими данными.
ЧТо-то вроде:
CLASS: FILE
CELL IS BODY
CELL IS HASH-LIST
CELL IS NAME
M: TYPE-NAME NAME @ COUNT TYPE CR ;
CLASS;

Также создал синтаксис а-ля "область видимости".
Пример
: PRINT CURRENT-FILE >OBJ: FILE TYPE-NAME TYPE-BODY OBJ; ;

В итоге весь полученный ООП-набор сводится к 2 фичам:
В методах ( М: ) при определении переменные знают адрес, от которого им надо "плясать"
Область видимости, которая даёт методам и переменным адрес от которого они будут плясать.

Скомпилированный код условно:

M: TEST P2 @ ; --- >R R@ CELL+ @ RDROP ;

: T2 >OBJ: TEST P2 P1 + OBJ; ; --- >R R@ TEST R@ CELL+ R@ 0 + + RDROP ;

НА САМОМ ДЕЛЕ КОД НЕСКОЛЬКО СЛОЖНЕЕ, но идея такая же.

В итоге при использовании всего этого код становится проще тупо за счёт сокрытия некоторых деталей (Было "указатель на структуру, функция" стало просто "функция") и медленнее за счёт постоянного использования локальной переменной.

Короче вот так вот выглядит ООП или что-то похожее на него. Идею честно стырил из СПФ (см. микроклассы).

У кого есть ещё какие-либо соображения по форт-синтаксису для ООП?

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


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

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

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


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

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
Victor__v писал(а):

Короче вот так вот выглядит ООП или что-то похожее на него. Идею честно стырил из СПФ (см. микроклассы).

У кого есть ещё какие-либо соображения по форт-синтаксису для ООП?

Посмотрите ~nn/class. У Николая на этой базе построены некоторые либы (GUI, net, ...)


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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
mOleg писал(а):
Объект - чужеродная абстракция, в Форте ее заменяет Слово.
Не нужно загромождать язык чужеродными конкурирующими абстракциями!


Я бы с Вами согласился, если бы не одно "но". Это помогает программировать.
В настоящий момент у меня есть наработка, где ООП смотрелось бы более органично.

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


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

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

"это лишь показывает, что в Форте и так можно"
вы просто привычно тянете инородное в Форт.
Ну, и вопрос, что у вас не получается делать со словами, что нужно добавлять объекты?

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
mOleg писал(а):
вы просто привычно тянете инородное в Форт.

Что, простите? Вы человеком не ошиблись?
mOleg писал(а):
Ну, и вопрос, что у вас не получается делать со словами, что нужно добавлять объекты?

Некорректно.
Получается всё. Вот только "объекты" (структуры по факту) уменьшают кол-во ошибок в коде.

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


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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Ilya писал(а):
Посмотрите ~nn/class. У Николая на этой базе построены некоторые либы (GUI, net, ...)

Вещь большая покопаемся.

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


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

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

Что не так? Вы не про ООП пишите?

Victor__v писал(а):
Вот только "объекты" (структуры по факту) уменьшают кол-во ошибок в коде.

ну, вот, можно примеры привести?

Victor__v писал(а):
Ilya писал(а):
Посмотрите ~nn/class. У Николая на этой базе построены некоторые либы (GUI, net, ...)

Вещь большая покопаемся.


spf4/devel/~af/microclass.f ?

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


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

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 174
Благодарил (а): 20 раз.
Поблагодарили: 13 раз.
Victor__v, не совсем понял, в чём заключается "область видимости"? Поля и методы класса находятся в отдельном словаре? NAME класса FILE не будет перекрывать NAME ранее определённого класса?


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

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
Словарь - это и есть область видимости, причем я сам переключаю чего я вижу, а чего нет. Так-что нет смысла в чем-то дополнительном, все уже есть.
Victor__v писал(а):
Получается всё. Вот только "объекты" (структуры по факту) уменьшают кол-во ошибок в коде.
Количество ошибок уменьшает ограничение плохого программиста, так сказать помещение его в стойло. Чем больше в языке будет низзя, тем меньше такой программист наделает ошибок. Но это-же наверно не идеология Форта.


Последний раз редактировалось Ethereal Чт апр 18, 2019 12:11, всего редактировалось 1 раз.

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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
zma писал(а):
Victor__v, не совсем понял, в чём заключается "область видимости"? Поля и методы класса находятся в отдельном словаре? NAME класса FILE не будет перекрывать NAME ранее определённого класса?

Всё делается через словари в этом плане ничего особенного.

mOleg, пример приведу потом.
Цитата:
spf4/devel/~af/microclass.f ?

У меня тоже вопрос. К чему это?
Вроде бы сам упоминал эту реализацию
Цитата:
Идею честно стырил из СПФ (см. микроклассы).

Библиотека эта, кстати, достаточно понятна (одна из версий, забыл уже чья).

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


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

Зарегистрирован: Ср дек 06, 2006 09:23
Сообщения: 660
Благодарил (а): 7 раз.
Поблагодарили: 25 раз.
В SPF-е есть ООП библиотеки hype.f, joop.f - достаточно функциональны и просты


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Victor__v писал(а):
Цитата:
spf4/devel/~af/microclass.f ?

У меня тоже вопрос. К чему это?
Вроде бы сам упоминал эту реализацию

пардон, я не понял, что именно эту, она разбрелась по нескольким папкам с некоторыми вариациями.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


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

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
diver писал(а):
В SPF-е есть ООП библиотеки hype.f, joop.f - достаточно функциональны и просты

Реализаций то много, но вот у Николая (aka ~nn) это имело практическое продолжение в виде множества либ.


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

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


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

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


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

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


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

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