OberonCore
https://forum.oberoncore.ru/

есть ли ООП в Обероне-07
https://forum.oberoncore.ru/viewtopic.php?f=115&t=1708
Страница 2 из 4

Автор:  prospero78 [ Четверг, 13 Октябрь, 2016 09:00 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

Илья Ермаков писал(а):
Касательно графики - я вот вообще мечтаю выкинуть в помойку методы и иметь каркас ББ только под RECORD-сообщения, обрабатываемые отдельным параллельным алгоритмом вместо объекта... Стандартное ООП и сквозное скакание по методам - не от хорошей жизни было придумано когда-то. Его место - для "алгебраической типизации", но никак не для имитации поведения объектов.

Согласен с Ильей.
Методы -- по сути, лишь сахар к записям))

Автор:  Kemet [ Четверг, 13 Октябрь, 2016 16:36 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

инструменты были придуманы, чтобы облегчить выполнение некоторой задачи. Конечно, чтобы забить гвоздь, можно использовать камень, есть индивиды, забивающие гвозди руками, можно даже взять непрофильный инструмент, например топор или микроскоп, но ведь молотком это сделать намного проще и удобней. Является ли молоток в этом случае сахаром?
Конечно, можно использовать процедурные переменные в записях и инициализировать их вручную, и после каждого изменения просматривать весь код проекта, на предмет проверки, не забыли ли мы проинициализировать новую переменную-метод? А можно поручить выполнять эту работу компилятору и заняться делом -реализацией логики программы. Ведь компилятор этот ровно такой же инструмент. Не, можно и в кодах, на листочке, а потом тумблерами, тумблерами

Автор:  Илья Ермаков [ Четверг, 13 Октябрь, 2016 19:54 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

Я сейчас не помню контекст того моего высказывания (копаться долго), но оно не против методов вообще (там отмечено про "алгебру" над типами данных).
А про то, что для поведения, типа как обслуживание интерфейса, сообщения и задачи могут оказаться удобнее.

Автор:  prospero78 [ Пятница, 14 Октябрь, 2016 19:15 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

Можно церкви вообще без гвоздей строить, примеры есть.
Будет ли такая церковь недоцерковью, или она будет вполне ФУНКЦИОНАЛЬНА?))

Не вижу проблем в том, чтобы вместо отдельного притвора для попа оставить один общий вход в церковь, просто попа пропускать первым. Не вижу ни одной причины, как это может повлиять на ход богослужения.)))

Автор:  Kemet [ Воскресенье, 16 Октябрь, 2016 09:06 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

prospero78 писал(а):
Можно церкви вообще без гвоздей строить, примеры есть.
Туфта это всё - видел я такие церкви, есть там гвозди, просто они не из металла, а из дерева.

Автор:  prospero78 [ Воскресенье, 16 Октябрь, 2016 17:32 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

На секундочку. Гвоздь с острием и шляпкой. В приводимом примере -- шкант.
Так что не зачёт, Кемет;)
И ещё раз повторю: общий вход для попа и прихожан никак не снижает качества богослужения.

Автор:  Kemet [ Воскресенье, 16 Октябрь, 2016 18:55 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

Э, нет. Деревянный гвоздь, он же нагель. Но это всё не важно. Мне совершенно непонятно, что за извращенная фантазия связала гвоздь, церковь, функциональность и Оберон. И досстаточно странные попытки увязать материал, из которого сделаны гвозди с религиозным культом, ибо:
Цитата:
Взвешивая на руке книгу Пророка, поворачивая её так и этак и останавливая взгляд на очертаниях букв или на золоте миниатюр, неграмотный упускает самое главное, каковым является не этот суетный предмет, но божественная мудрость. Так же как главным в свече будет не воск, оставляющий всюду натёки, но свет.
Антуан де Сент-Экзюпери. Цитадель.

Автор:  Иван Денисов [ Понедельник, 17 Октябрь, 2016 03:30 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

В Оберон-07 нет привычных методов как в КП, но ООП при этом есть. Абстракция поддерживается на уровне процедурных переменных. На этом Дне Оберона, как раз показывал как делать абстрактные интерфейсы процедурными переменными и потом устанавливать их реализацию. Инкапсуляция поддерживается на уровне управления экспортом в записях и модулях. Наследование записей в Обероне есть, и, следовательно, возможны приемы использующие полиморфизм. Классы сделаны в Виртовском стиле модулей, методы импортируют записи через первый аргумент. Объекты - это указатели на записи, они размещаются в адресном пространстве при вызове NEW. Более ООП согласно википедии ничего не требует. Так что это полное доказательство наличия ООП в Обероне-07.

Автор:  Info21 [ Понедельник, 17 Октябрь, 2016 09:07 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

Странно, что нужно доказывать.

Автор:  Kemet [ Понедельник, 17 Октябрь, 2016 09:47 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

Иван Денисов писал(а):
Так что это полное доказательство наличия ООП в Обероне-07.
Собственно, как и в оригинальном Обероне, но кто с этим спорит?

Автор:  prospero78 [ Понедельник, 17 Октябрь, 2016 12:03 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

Kemet писал(а):
....Мне совершенно непонятно, что за извращенная фантазия связала гвоздь, церковь, функциональность и Оберон. И достаточно странные попытки увязать материал, из которого сделаны гвозди с религиозным культом, ибо:

Т.е. аналогию с методами, где ссылка на класс указывается перед именем процедуры, и просто процедурой, где ссылка на экземпляр передаётся явно первым членом (притвор и общий вход, где поп заходит первым) это неявно?))
Кемет, Иван ответил исчерпывающе.

Автор:  Jordan [ Понедельник, 17 Октябрь, 2016 19:40 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

Всё это конечно, хорошо правильно и т.д Приведите пожалуйста примеры отличий, разных реализаций ООП в коде. Так сказать для чайников. :)

Автор:  Jordan [ Понедельник, 17 Октябрь, 2016 19:41 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

Илья Ермаков, пишет здорово, со знанием дела, но нифига не понятно. :)

Автор:  Kemet [ Понедельник, 17 Октябрь, 2016 20:21 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

В общем, следуя подобной логике, Си тоже объектно-ориентированный яп.

Автор:  Роман М. [ Понедельник, 17 Октябрь, 2016 20:25 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

Иван Денисов писал(а):
На этом Дне Оберона

"В День Оберона" звучит лучше.

Автор:  Илья Ермаков [ Понедельник, 17 Октябрь, 2016 20:39 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

Kemet писал(а):
В общем, следуя подобной логике, Си тоже объектно-ориентированный яп.


А где:
1) Расширение типов?
2) Полиморфизм (без void*) и селекция по типу? (что невозможно, кстати, без метаинформации)

Автор:  prospero78 [ Вторник, 18 Октябрь, 2016 10:10 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

Kemet писал(а):
В общем, следуя подобной логике, Си тоже объектно-ориентированный яп.

Кемет. Если есть дикое желание ездить по не паханному полю вдоль и поперёк -- нет проблем. Вперёд!))
Можно принять для себя условно, что от канавы до сосны -- это дорога)) И это будет неправда.
Направление, маршрут -- да. Но не дорога.
Дорога имеет выделенное твёрдое полотно, по краям имеет ограничение, возможна разметка, знаки, светофоры, разделительные "аппаратные" полосы и т. д.

Класс дорог очень широкий. И можно точно сказать, что вот это дорога, а вот это уже не дорога.
Все пытаются сказать о том, что дорога может быть 1, 3, 3, 4, 5 и в последнее время -- даже 6-ой категории. Но дорога не может быть ниже 1-ой категории, иначе это уже не дорога, а направление. А вот по какой дороге ездить -- федеральной трассе или придомовой дороге -- это уже дело инженерного обоснования. Но разницы принципиальной нет.
И когда пробки на МКАДе, по дворам начинают ехать вереницы авто, причём быстрее, чем по МКАДу.
В Си есть расширяемые записи? В Си есть понятие модуля? (модуль, кстати, автоматически реализует шаблон проектирования "одиночка"). Си обеспечивает автоматическое управление памятью?))) Может быть Си помогает программисту в ясном коде?))

И всё-таки, шплинт) Нагели уже не используются лет 100..150))

Автор:  Comdiv [ Вторник, 18 Октябрь, 2016 14:15 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

Илья Ермаков писал(а):
Kemet писал(а):
В общем, следуя подобной логике, Си тоже объектно-ориентированный яп.


А где:
1) Расширение типов?
2) Полиморфизм (без void*) и селекция по типу? (что невозможно, кстати, без метаинформации)


Всё это возможно в довольно адекватном виде, но это тема для статьи, а не сообщения на форуме.
Один аспект - полиморфизм без void* я рассматривал в своей заметке http://comdivbyzero.blogspot.com/2016/01/oop-in-c-example.html
Расширение записей в стиле Оберон тоже возможно, но в чистом виде я бы вряд ли стал его применять широко.

Автор:  Info21 [ Вторник, 18 Октябрь, 2016 20:16 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

Оберон, как известно :) компилируется в машинный язык.

Значит, все ОО- программы могут быть представлены даже на машинном языке, не говоря, заметят знатоки, про фортран, паскаль, С и машину Тьюринга.

Только нахрен нужно это словоблудие?

Автор:  Comdiv [ Вторник, 18 Октябрь, 2016 21:38 ]
Заголовок сообщения:  Re: есть ли ООП в Обероне-07

Для меня лично вопрос возможности ООП в Обероне и его отображения на Си - вопрос сугубо практический. И если люди высказывают ошибочные утверждения, не вижу причин не поправить, так как на основе таких утверждений нередко решения принимаются. Обратите внимание, что речь как раз идёт не о машинном уровне.

Страница 2 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/