Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: ООП в форте как он должен выглядеть? |
|
|
Victor__v писал(а): Объект суть структура отражающая ту или иную программную сущность (масло масленное). И должны быть слова, которые могут работать с этими структурами. сущность, структура, все это можно представить как запись. А слово для создания записей в спф-форте можно подсмотреть. Это слово -- суть прибавление смещения от начала структуры. И больше ведь ничего не надо. 0 \ Определение объекта : ... CЕLL -- Имя_метода ... CONSTANT Размер_объекта Имя_экземпляра_объекта CREATE Размер_объекта ALLOT ' Метод Имя_экземпляра_объекта Имя_метода ! \ Инициализация виртуального метода <параметры> Имя_экземпляра_объекта Имя_метода EXECUTE Victor__v писал(а): Это тупо повышает понятность кода. Интуитивная понятность кода хороша пока не начнешь ловить ошибки. А тогда нужна не интуитивная, а абсолютная понятность. А она достигается минимумом сущностей. Ведь мне чтобы отловить ошибку придется пол твоей Новы разгребать, чтобы уяснить что это за объекты ты там наклепал, как они работают и не там ли косяк зарылся. Вот если ты пишешь Нову только для себя, то и понятность нужна только для тебя. Тогда конечно можно наворотить что угодно. Мысль - не надо добавлять сущностей, которые принципиально нового не дают и лишь следуют моде. Ведь какой огород ни городи все равно все сведется к <параметры> Имя_экземпляра_объекта Имя_метода EXECUTE и менимальнее не сделать. А это достигается добавлением единственного : -- ( n1 n2 -- n1+n2 ) CREATE OVER , + DOES> @ + ;
[quote="Victor__v"]Объект суть структура отражающая ту или иную программную сущность (масло масленное). И должны быть слова, которые могут работать с этими структурами.[/quote]сущность, структура, все это можно представить как запись. А слово для создания записей в спф-форте можно подсмотреть. Это слово -- суть прибавление смещения от начала структуры. И больше ведь ничего не надо.
0 \ Определение объекта : ... CЕLL -- Имя_метода ... CONSTANT Размер_объекта
Имя_экземпляра_объекта CREATE Размер_объекта ALLOT
' Метод Имя_экземпляра_объекта Имя_метода ! \ Инициализация виртуального метода
<параметры> Имя_экземпляра_объекта Имя_метода EXECUTE
[quote="Victor__v"]Это тупо повышает понятность кода.[/quote]Интуитивная понятность кода хороша пока не начнешь ловить ошибки. А тогда нужна не интуитивная, а абсолютная понятность. А она достигается минимумом сущностей. Ведь мне чтобы отловить ошибку придется пол твоей Новы разгребать, чтобы уяснить что это за объекты ты там наклепал, как они работают и не там ли косяк зарылся. Вот если ты пишешь Нову только для себя, то и понятность нужна только для тебя. Тогда конечно можно наворотить что угодно.
Мысль - не надо добавлять сущностей, которые принципиально нового не дают и лишь следуют моде. Ведь какой огород ни городи все равно все сведется к <параметры> Имя_экземпляра_объекта Имя_метода EXECUTE и менимальнее не сделать. А это достигается добавлением единственного : -- ( n1 n2 -- n1+n2 ) CREATE OVER , + DOES> @ + ;
|
|
|
|
Добавлено: Сб апр 27, 2019 22:36 |
|
|
|
|
|
Заголовок сообщения: |
Re: ООП в форте как он должен выглядеть? |
|
|
reijii писал(а): Цитата: И получается, что как-то напряжно каждый раз передавать доп. параметром указатель на эту самую структуру, особенно в служебных словах. Да, так удобно записывать. Только вот на низком уровне эти параметры всё равно передаются, скрытно. В "крестах" (C++) this передаётся в ECX (в 32 битном варианте). Да ладно (тут мем "лицо Якубовича") Я и не знал По остальной части. Абстрагироваться от этого можно. Это тупо повышает понятность кода.
[quote="reijii"][quote]И получается, что как-то напряжно каждый раз передавать доп. параметром указатель на эту самую структуру, особенно в служебных словах.[/quote]
Да, так удобно записывать. Только вот на низком уровне эти параметры всё равно передаются, скрытно. В "крестах" (C++) this передаётся в ECX (в 32 битном варианте). [/quote] Да ладно (тут мем "лицо Якубовича") Я и не знал :))
По остальной части. Абстрагироваться от этого можно. Это тупо повышает понятность кода.
|
|
|
|
Добавлено: Сб апр 27, 2019 21:10 |
|
|
|
|
|
Заголовок сообщения: |
Re: ООП в форте как он должен выглядеть? |
|
|
Цитата: И получается, что как-то напряжно каждый раз передавать доп. параметром указатель на эту самую структуру, особенно в служебных словах. Да, так удобно записывать. Только вот на низком уровне эти параметры всё равно передаются, скрытно. В "крестах" (C++) this передаётся в ECX (в 32 битном варианте). Это удобство стоИт на абстракции которой в форте нет. Имитация её в форте приведёт к ограничениям. Вот это вот мне и чешет мозг больше всего. Ограничение голой машины Тьюринга (чем форт по-сути является) до уровня си-подобной абстракции. Типа на тебе костыли - на них безопаснее. И пофиг, что без костылей ты можешь бегать и прыгать, а на костылях нет.
[quote]И получается, что как-то напряжно каждый раз передавать доп. параметром указатель на эту самую структуру, особенно в служебных словах.[/quote]
Да, так удобно записывать. Только вот на низком уровне эти параметры всё равно передаются, скрытно. В "крестах" (C++) this передаётся в ECX (в 32 битном варианте).
Это удобство стоИт на абстракции которой в форте нет. Имитация её в форте приведёт к ограничениям. Вот это вот мне и чешет мозг больше всего. Ограничение голой машины Тьюринга (чем форт по-сути является) до уровня си-подобной абстракции.
Типа на тебе костыли - на них безопаснее. И пофиг, что без костылей ты можешь бегать и прыгать, а на костылях нет.
|
|
|
|
Добавлено: Сб апр 27, 2019 20:35 |
|
|
|
|
|
Заголовок сообщения: |
Re: ООП в форте как он должен выглядеть? |
|
|
Как я дошёл до такой жизни.
Объект суть структура отражающая ту или иную программную сущность (масло масленное). И должны быть слова, которые могут работать с этими структурами. И получается, что как-то напряжно каждый раз передавать доп. параметром указатель на эту самую структуру, особенно в служебных словах. Если его как-то завуалировать, то процесс идёт проще (я сделал черел лок. переменную как в СПФ-ской либе, микроклассов). Да и синтаксис можно упростить. К примеру, вместо того, чтобы писать что-то вроде file-strut-sizem men-struct-size и пр. Писать SIZE-OBJ: file SIZE-OBJ: men Меньше путаницы.
Как я дошёл до такой жизни.
Объект суть структура отражающая ту или иную программную сущность (масло масленное). И должны быть слова, которые могут работать с этими структурами. И получается, что как-то напряжно каждый раз передавать доп. параметром указатель на эту самую структуру, особенно в служебных словах. Если его как-то завуалировать, то процесс идёт проще (я сделал черел лок. переменную как в СПФ-ской либе, микроклассов). Да и синтаксис можно упростить. К примеру, вместо того, чтобы писать что-то вроде file-strut-sizem men-struct-size и пр. Писать SIZE-OBJ: file SIZE-OBJ: men Меньше путаницы.
|
|
|
|
Добавлено: Вт апр 23, 2019 23:51 |
|
|
|
|
|
Заголовок сообщения: |
Re: ООП в форте как он должен выглядеть? |
|
|
Victor__v писал(а): Проще говоря, что имеется ввиду? На форуме несколько раз отмечалось, что словари в принципе обеспечивают основные свойства объектов. Инкапсуляция - слова принадлежат словарю и видны только в его контексте. Наследование - если слова нет в словаре, поиск продолжается в словаре-родителе. Полиморфизм - несколько словарей могут иметь слова с одинаковыми именами. Тем не менее, попытки сделать ООП в Форте возникают достаточно регулярно. У меня даже возникло соображение, что дело может быть и не в ООП как таковом, а в реализации определенного стиля программирования, или просто разработке удобного синтаксиса. Потому что регулярное появление у разных разработчиков схожих идей свидетельствует скорее о наличии объективной потребности в чем-то похожем на объекты.
[quote="Victor__v"]Проще говоря, что имеется ввиду?[/quote] На форуме несколько раз отмечалось, что словари в принципе обеспечивают основные свойства объектов. Инкапсуляция - слова принадлежат словарю и видны только в его контексте. Наследование - если слова нет в словаре, поиск продолжается в словаре-родителе. Полиморфизм - несколько словарей могут иметь слова с одинаковыми именами.
Тем не менее, попытки сделать ООП в Форте возникают достаточно регулярно. У меня даже возникло соображение, что дело может быть и не в ООП как таковом, а в реализации определенного стиля программирования, или просто разработке удобного синтаксиса. Потому что регулярное появление у разных разработчиков схожих идей свидетельствует скорее о наличии объективной потребности в чем-то похожем на объекты.
|
|
|
|
Добавлено: Вт апр 23, 2019 23:30 |
|
|
|
|
|
Заголовок сообщения: |
Re: ООП в форте как он должен выглядеть? |
|
|
Hishnik писал(а): А сопоставление словарей и объектов уже было? Лично автор этого сообщения пилит свою реализацию ООП, которая уже облегчает по мнению автора процесс написания программ так или иначе работающих с объектами. Поэтому смысл Вашего сообщения несколько ускользает от моего понимания. Проще говоря, что имеется ввиду?
[quote="Hishnik"]А сопоставление словарей и объектов уже было?[/quote] Лично автор этого сообщения пилит свою реализацию ООП, которая уже облегчает по мнению автора процесс написания программ так или иначе работающих с объектами. Поэтому смысл Вашего сообщения несколько ускользает от моего понимания. Проще говоря, что имеется ввиду?
|
|
|
|
Добавлено: Вт апр 23, 2019 10:19 |
|
|
|
|
|
Заголовок сообщения: |
Re: ООП в форте как он должен выглядеть? |
|
|
А сопоставление словарей и объектов уже было?
А сопоставление словарей и объектов уже было?
|
|
|
|
Добавлено: Пн апр 22, 2019 22:47 |
|
|
|
|
|
Заголовок сообщения: |
Re: ООП в форте как он должен выглядеть? |
|
|
diver писал(а): В SPF-е есть ООП библиотеки hype.f, joop.f - достаточно функциональны и просты Реализаций то много, но вот у Николая (aka ~nn) это имело практическое продолжение в виде множества либ.
[quote="diver"]В SPF-е есть ООП библиотеки hype.f, joop.f - достаточно функциональны и просты[/quote] Реализаций то много, но вот у Николая (aka ~nn) это имело практическое продолжение в виде множества либ.
|
|
|
|
Добавлено: Пт апр 19, 2019 22:07 |
|
|
|
|
|
Заголовок сообщения: |
Re: ООП в форте как он должен выглядеть? |
|
|
Victor__v писал(а): Цитата: spf4/devel/~af/microclass.f ?
У меня тоже вопрос. К чему это? Вроде бы сам упоминал эту реализацию пардон, я не понял, что именно эту, она разбрелась по нескольким папкам с некоторыми вариациями.
[quote="Victor__v"]Цитата: spf4/devel/~af/microclass.f ?
У меня тоже вопрос. К чему это? Вроде бы сам упоминал эту реализацию[/quote] пардон, я не понял, что именно эту, она разбрелась по нескольким папкам с некоторыми вариациями.
|
|
|
|
Добавлено: Пт апр 19, 2019 20:30 |
|
|
|
|
|
Заголовок сообщения: |
Re: ООП в форте как он должен выглядеть? |
|
|
В SPF-е есть ООП библиотеки hype.f, joop.f - достаточно функциональны и просты
В SPF-е есть ООП библиотеки hype.f, joop.f - достаточно функциональны и просты
|
|
|
|
Добавлено: Чт апр 18, 2019 20:41 |
|
|
|
|
|
Заголовок сообщения: |
Re: ООП в форте как он должен выглядеть? |
|
|
zma писал(а): Victor__v, не совсем понял, в чём заключается "область видимости"? Поля и методы класса находятся в отдельном словаре? NAME класса FILE не будет перекрывать NAME ранее определённого класса? Всё делается через словари в этом плане ничего особенного. mOleg, пример приведу потом. Цитата: spf4/devel/~af/microclass.f ?
У меня тоже вопрос. К чему это? Вроде бы сам упоминал эту реализацию Цитата: Идею честно стырил из СПФ (см. микроклассы). Библиотека эта, кстати, достаточно понятна (одна из версий, забыл уже чья).
[quote="zma"][b]Victor__v[/b], не совсем понял, в чём заключается "область видимости"? Поля и методы класса находятся в отдельном словаре? NAME класса FILE не будет перекрывать NAME ранее определённого класса?[/quote] Всё делается через словари в этом плане ничего особенного.
mOleg, пример приведу потом. [quote] spf4/devel/~af/microclass.f ? [/quote] У меня тоже вопрос. К чему это? Вроде бы сам упоминал эту реализацию [quote]Идею честно стырил из СПФ (см. микроклассы).[/quote] Библиотека эта, кстати, достаточно понятна (одна из версий, забыл уже чья).
|
|
|
|
Добавлено: Чт апр 18, 2019 12:11 |
|
|
|
|
|
Заголовок сообщения: |
Re: ООП в форте как он должен выглядеть? |
|
|
Словарь - это и есть область видимости, причем я сам переключаю чего я вижу, а чего нет. Так-что нет смысла в чем-то дополнительном, все уже есть. Victor__v писал(а): Получается всё. Вот только "объекты" (структуры по факту) уменьшают кол-во ошибок в коде. Количество ошибок уменьшает ограничение плохого программиста, так сказать помещение его в стойло. Чем больше в языке будет низзя, тем меньше такой программист наделает ошибок. Но это-же наверно не идеология Форта.
Словарь - это и есть область видимости, причем я сам переключаю чего я вижу, а чего нет. Так-что нет смысла в чем-то дополнительном, все уже есть.[quote="Victor__v"]Получается всё. Вот только "объекты" (структуры по факту) уменьшают кол-во ошибок в коде.[/quote]Количество ошибок уменьшает ограничение плохого программиста, так сказать помещение его в стойло. Чем больше в языке будет низзя, тем меньше такой программист наделает ошибок. Но это-же наверно не идеология Форта.
|
|
|
|
Добавлено: Чт апр 18, 2019 12:09 |
|
|
|
|
|
Заголовок сообщения: |
Re: ООП в форте как он должен выглядеть? |
|
|
Victor__v, не совсем понял, в чём заключается "область видимости"? Поля и методы класса находятся в отдельном словаре? NAME класса FILE не будет перекрывать NAME ранее определённого класса?
[b]Victor__v[/b], не совсем понял, в чём заключается "область видимости"? Поля и методы класса находятся в отдельном словаре? NAME класса FILE не будет перекрывать NAME ранее определённого класса?
|
|
|
|
Добавлено: Чт апр 18, 2019 02:30 |
|
|
|
|
|
Заголовок сообщения: |
Re: ООП в форте как он должен выглядеть? |
|
|
Victor__v писал(а): Что, простите? Вы человеком не ошиблись? Что не так? Вы не про ООП пишите? Victor__v писал(а): Вот только "объекты" (структуры по факту) уменьшают кол-во ошибок в коде. ну, вот, можно примеры привести? Victor__v писал(а): Ilya писал(а): Посмотрите ~nn/class. У Николая на этой базе построены некоторые либы (GUI, net, ...)
Вещь большая покопаемся. spf4/devel/~af/microclass.f ?
[quote="Victor__v"]Что, простите? Вы человеком не ошиблись?[/quote] Что не так? Вы не про ООП пишите?
[quote="Victor__v"] Вот только "объекты" (структуры по факту) уменьшают кол-во ошибок в коде.[/quote] ну, вот, можно примеры привести?
[quote="Victor__v"]Ilya писал(а): Посмотрите ~nn/class. У Николая на этой базе построены некоторые либы (GUI, net, ...)
Вещь большая покопаемся.[/quote]
spf4/devel/~af/microclass.f ?
|
|
|
|
Добавлено: Ср апр 17, 2019 21:35 |
|
|
|
|
|
Заголовок сообщения: |
Re: ООП в форте как он должен выглядеть? |
|
|
Ilya писал(а): Посмотрите ~nn/class. У Николая на этой базе построены некоторые либы (GUI, net, ...) Вещь большая покопаемся.
[quote="Ilya"] Посмотрите ~nn/class. У Николая на этой базе построены некоторые либы (GUI, net, ...)[/quote] Вещь большая покопаемся.
|
|
|
|
Добавлено: Ср апр 17, 2019 00:52 |
|
|
|
|