Обновить
-2
0
Марк Мельник@maxstroy

Пользователь

Отправить сообщение
Я разделяю код и реальность. В реальности есть слоны и классы слонов. Есть классы в программе. Классы слонов описываются при помощи логической парадигмы. Типы слонов описываются при помощи типов. Но код описывается при помощи классов ООП, Классы ООП не имеют прямой связи с классами реальных объектов. Эта связь только у аналитика в голове. Поэтому в природе нет переменных, нет классов ООП, но есть классы объектов, объектов из атомов. А те объекты, которые создаются в системе — они из электромагнитных полей. Это разные объекты
Кстати, Вы посмотрите, кто-то считает, что класс слонов существует не в Африке, а в информационной системе.
Кстати, своему сыну я показываю как то или иное отношение в природе моделируется при помощи ООП. И показываю неоднозначность решений. Как только была понята неоднозначность, сразу стало понятно, что ООП не про предметную область. Оно по код.
Я не знаю, как достучаться до сознания ИТишников, чтобы объяснить суть проблемы. Как только она будет понята, можно будет маппиться. К сожалению, я провел несколько лет в попытках показать, как можно отмаппиться, но меня называли сумасшедшим. Теперь я стараюсь пользоваться аргументами. Иначе не получается.
Теория типов не просто существует более 2000 лет, она проникла в наш язык настолько глубоко, что мы сами того не замечаем. Китайский язык построен на других принципах, например. Поэтому мы воспроизводим Аристотелевскую модель каждый раз, когда открываем рот)
Класс слонов существует в поле, в Африке, мы его создать не можем, разве только путем специального разведения. В системе мы создаем объекты, моделирующие слонов. Я же в своей статье пишу про класс реальных слонов, а не тех, которые создаются в системе
Не понял. Как тип и множества могут быть одновременно? покажите мне такую парадигму, в которой сосуществуют и типы и множества!
Это терминология существует только в биологии. Я же говорю про онтологические стандарты. Ими занимаются философы, математики, лингвисты, но не биологи и программисты.
Простите, но кому и зачем нужно использовать в программировании термины на русском языке


Я не говорил про программирование. Я говорил про моделирование предметной области.

Возможно вы удивитесь, но это называется статические поля и методы класса

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

Теперь про парадокс Рассела. Термин Класс отличается от термина Множество тем, что класс определяется в аксиоматике фон Неймана. И эта аксиоматика была создана для разрешения этого парадокса. Однако, в нашем случае до парадоксов Рассела как до звезды)).
Да, к сожалению, да. и в UML нет возможности моделировать классы и объекты этих классов на одной диаграмме. А в природе встречаются такие связи. Получается, что часть связей предметной области в UML не находят своего отражения
Да, в книгах, что я привел, есть ссылки на Аристотеля.
Ролик произвел не очень приятное впечатление своим миганием и размытостью фокуса. И самое главное — не понятно, что именно хотел сказать его создатель.
ну, не совсем. Современная физика говорит нам о том, что все взаимосвзязано, как в пространстве так и во времени. Насчет недоступности — тоже можно спорить до хрипоты, потому что ни доказать это ни опровергнуть мы не можем. Косвенный признак — это то, что мы не видели гостей из будущего, но этот тезис кроет карта многослойности нашего мира. так что никто не знает что и почему. Но я подчеркну отдельно, что для целей моделирования это не важно. Главное ввести понятие четвертого измерения в действие — фокус в том, что для моделирования изменений нам не надо знать ни факт такого специфического переживания времени, ни причину такого переживания, а достаточно просто постулировать факт, что наше пространство четырехмерно. Этот постулат позволяет описать все: и предметы и изменения единым способом
В математике под классом понимается множество объектов любой природы. В одном классе могут находиться крокодил, кенгуру, планета Нептун, класс зерен кукурузы. Класс в математике не задается его свойствами, он задан перечислением его объектов. И только так. В ОПП же под классом понимается шаблон! Но это определение типа по Аристотелю.
На этой путанице проросли такие дикие термины. как: термин переменная и ее экземпляр!
В английском языке нет термина экземпляр, там термин instance, который переводится как пример объекта. И мы должны были бы перевести всю конструкцию так: тип переменной и пример объекта данного типа переменной. Но в русском языке получилось совсем нехорошо. А все потому что мы плохо знаем математику и поверили разработчикам ООП.
Ну. если я вижу название диаграммы: диаграмма классов (в математике под классом понимается множество), а на деле я вижу описание типов объектов, то я не понимаю на какой платформе стоит ООП. Если Вы скажете мне то, что они имели ввиду под классом, я может и пойму замысел разработчиков.
Давайте так: Вам не мешает моделирование в ER нотации? Ок! Я не пытаюсь создать Вам лично проблемы. Мне мешают? Да. Я делюсь теми причинами и теми способами, которыми я преодолел эти ограничения. У Вас нет этих проблем и, значит, нет желание чего-то преодолевать. Вы говорите, что мои проблемы от моего невежества. Ок. Я согласен с Вами. Я дремуч и невежествен. Если Вам надо доказывать свою правоту человеку, которого Вы даже не знаете, то да, Вы правы.
Очень часто я слышу: мы не знали этого в самом начале и потому затраты на переделку будут вот такими! Поэтому часто проектировщики делают структуры на вырост и с запасом. Все потому что изменения неизбежны, а вектор их не всегда предсказуем. В логической парадигме появление новых знаний о проектируемом объекте, не ведет к никаким последствиям, кроме как добавлению новых классов и связей. В парадигме типов — постоянно жди неприятностей. У Криса есть график трудоемкости разработки на основе сущностей и на основе логической парадигмы в зависимости от объема кода. Посмотрите, он интересный.
Мы не говорим о том, что ER модель не позволяет нам моделировать предметную область. И Крис с этим тоже не спорит. И иерархия типов решается легко. Вопрос не в этом. Вопрос в том, что эта иерархия легко может измениться, — это раз. По прихоти заказчика уже после начала эксплуатации системы. Во-вторых, эта иерархия типов может быть построена разными способами. То ли путем создания сущностей, то ли путем создания связей между сущностями, В предметной области нет разных способов существования вещей. там все однозначно. Неоднозначность реализации — болезнь самой реализации, а не предметной области. Ну и повторяю, что неразличение классификации и специализации — это тоже не сахар. Книгу стоит прочитать целиком.
Но мне хватает знаний, чтобы понять, что объявляя класс в ООП, я объявляю тип объектов, а не класс объектов. И на этом можно с классами расстаться. ООП не работает с классами. Оно работает с типами. Это большой обман со стороны разработчиков ООП.

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность