The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск языка программирования Rust 1.34"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Выпуск языка программирования Rust 1.34" –1 +/
Сообщение от хотел спросить (?), 15-Апр-19, 03:33 
>[оверквотинг удален]
> уважать его копирайты на аббревиатуру ООП. Ну, то есть, я утрирую
> несколько, но суть примерно такая. В точности ты можешь почитать здесь:
> http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay...
> Требовать от ООП программы полиморфизма, это примерно то же самое, что требовать
> от ООП программы быть написанной на C++. Типа если не C++,
> значит не ООП. Полиморфизм по типу -- это попытка решить задачи
> диспатча в ООП статически. Без всякого полиморфизма ты можешь решать их
> динамически, это хуже только в том смысле, что иногда приводит к
> накладным расходам во время выполнения. Но это никак не противоречит ООП
> идеологически.

Что-то я не вижу тут инкапсуляции. Обрисуйте ход ваших мыслей.
Я как-то в упор не понимю где тут что скрыто и к чему невозможно получить доступ извне (без чтения памяти процесса или какой-нибудь рефлексии). И где здесь можно получить доступ для ограниченного участка кода, которому принадлежит эта логика.

---

ООП -- это "инкапсуляция, наследование, полиморфизм"?
Нет я так не думаю... Я знаю, что эти 3 пункта как и многие другие дают определенный набор инструментов для реализации объектов и их взаимодействия.
И мне как бы "накласть" на ваших сивых и бурых кобыл. И уж тем более "не сотвори себе кумира".
Я смотрю в корень! При оперировании абстрактными сущностями в попытках декомпозиции реального мира - нужна виртуальность функций? - нужна... Нужно полиморфное поведение? - нужно. Нужно наследование (и реализация интефейсов туда же) - нужно. Нужны CAST операторы - офигеть как нужны (например один из вариантов реализаций адаптера).

> Требовать от ООП программы полиморфизма, это примерно то же самое, что требовать от ООП программы быть написанной на C++.

C++, C#, Java, Object Pascal (да да на нем еще пишут много софта, лично видел).
Ну и мне не дадут соврать ребята, кто знаком с другими языками.

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

> Без всякого полиморфизма ты можешь решать их динамически

Во первых все равно динамический диспатч подразумевает полимофное поведение.
Вот только в С++ и ему подобных языках это полморфное поведение объектов (моделей реального мира).
А полиморфизм чего будет в необъектных языках? Сомнительная шоколадка...

Во-вторых, а если я намеренно не хочу динамический диспатч? И считаю что его применение следует допускать только по мере крайней необходимости. Чтобы например банально не страдала самодокументируемость кода... и не только.

> Но это никак не противоречит ООП идеологически.

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

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск языка программирования Rust 1.34, opennews, 14-Апр-19, 11:26  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру