|
Автор канал по Лиспу
25 / 23 / 2
Регистрация: 10.08.2021
Сообщений: 357
|
|
Минусы ООП21.08.2021, 07:06. Показов 8969. Ответов 97
Я слышал много критики в адрес ООП. Говорят, что оно приносит больше сложности чем упрощает и такой код труднее читать.
Насколько обоснованны эти заявления? Приводятся цитаты Дейксры, Торвальдса и Рэймонда в которых они говорят об ООП не самые лестные вещи. Я понимаю, что апелляция к авторитету - не аргумент, но сомнение во мне уже заложилось...
0
|
|
| 21.08.2021, 07:06 | |
|
Ответы с готовыми решениями:
97
Какой язык веб-программирования выбрать? Плюсы\минусы Динамическая/статическая типизация, интерпретация/компиляция и функциональные языки - плюсы и минусы Delphi !? Плюсы и минусы |
|
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
|
||||||
| 24.08.2021, 11:44 | ||||||
|
Delphi кстати сейчас воплощает идеологию GO структур
https://docwiki.embarcadero.co... ed_Records Есть Initialize и есть Finalize тот же конструктор и деструктор, а так же ещё куча других методов
0
|
||||||
|
Модератор
|
||||||||||
| 24.08.2021, 15:25 | ||||||||||
|
Неплохо также позволить добавлять интерфейсы для структур данных не меняя исходника описывающего эти структуры, т.е. приходим к классам типов / трейтам. Но именно, создавая интерфейсы, а не дублируя описания набора функций. Проще разрабатывать новые функции выбирая уже разработанные для структур интерфейсы, в том числе, подбирая удобные пакеты. То есть когда мухи отдельно - котлеты отдельно. А именно, данные отдельно, функции отдельно (хоть и объединённые в интерфейсы), возможностей больше.
0
|
||||||||||
|
Невнимательный
|
|||
| 24.08.2021, 16:00 | |||
|
Или без этого приходится лепить классы над классами цепочками за цепочками )) кучи лишних сущностей.
...Но что-то глянул на то-же Trait в Rust что-то оно там как-будто совсем другой смысл имеет...
0
|
|||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|||||||||||||||||||
| 24.08.2021, 17:14 | |||||||||||||||||||
( = ) : t -> t -> bool для какого-то типа t ничего не знает о том, где будет использоваться, кроме своей сигнатуры и семантики.Кликните здесь для просмотра всего текста
![]() Добавлено через 11 минут
0
|
|||||||||||||||||||
|
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
|
|||||||
| 24.08.2021, 17:38 | |||||||
|
Например, разрешено ли в GO такое ???
0
|
|||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|||||||
| 24.08.2021, 17:45 | |||||||
![]()
0
|
|||||||
|
Модератор
|
|||
| 24.08.2021, 18:31 | |||
|
0
|
|||
|
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
|
|
| 24.08.2021, 18:54 | |
|
В Delphi дженерики тоже есть. Правде неудобные, но пользоваться можно
https://docwiki.embarcadero.co... f_Generics https://docwiki.embarcadero.co... g_Generics Добавлено через 2 минуты Надеюсь их и в PHP добавят https://wiki.php.net/rfc/generics
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||||||||
| 24.08.2021, 19:27 | ||||||||
|
0
|
||||||||
|
Модератор
|
|||||
| 24.08.2021, 20:10 | |||||
|
0
|
|||||
|
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
|
|
| 24.08.2021, 20:20 | |
|
В общем объективных реальных минусов нигде нет. Проблемы начинаются лишь в головах тех, которые не привыкли.
Вот вы правша. А тут пришёл левша, и давай затерать как левой рукой удобно кушать. Так правша возьмёт дробаш, и отстрелит ему левую руку. Принудительно заставив кушать с правой.
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||||||||||||||||
| 24.08.2021, 21:14 | ||||||||||||||||
|
Типа вот я пишу приложение:
Jackson конечно же ничего не знает про эти интерфейсы. И не может, потому что компонентов сотни в тысячах проектов. Конечно, в общем случае, интерфейс библиотеки может не совпадать с интерфейсами, которые требуют мои компоненты и мне придётся писать какой-то bridge (хз как там в паттернах это называется), но в случаях, когда совпадают --- не придётся. В этом и отличие. Я уже приводил пример, повторю: SWT, два компонента, TextField, ComboBox, оба имеют метод getText, одинаковый как по сигнатуре, так и по семантике, но авторы SWT не предоставили каой-нибудь интерфейс Textable { getText() : String }. Как мне однообразно обработать объекты TextField и ComboBox? Без костылей --- никак. А если это компоненты из разных библиотек, SWT и Swing (их можно совмещать в одном приложении), которые в общем случае не обязаны знать друг о друге и иметь общую зависимость в виде единого набора интерфейсов? ![]() Добавлено через 1 минуту
0
|
||||||||||||||||
|
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
|
||
| 24.08.2021, 21:26 | ||
|
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|||||||||||||||||||||
| 24.08.2021, 21:38 | |||||||||||||||||||||
|
Curry, и ещё вот такой момент:
есть у меня три компонента, требующие такие зависимости:
В Java интерфейсы "складываются", т.е. методы с одинаковыми сигнатурами из разных интерфейсов считаются одним методом. Типа
0
|
|||||||||||||||||||||
|
Модератор
|
||||||||||
| 24.08.2021, 22:22 | ||||||||||
|
Что же про конкретную библиотеку о которой вы пишите, то я не знаю даже в каком языке она используется, что бы влезать в её нюансы.
Т.е. сведение таких элементарных вещей к одному интерфейсу представляется очевидно необходимым для нормального проектирования либы. Добавлено через 13 минут Как говориться don't repeat yourself.
0
|
||||||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|||||||||||||||
| 24.08.2021, 22:36 | |||||||||||||||
|
Добавлено через 2 минуты
0
|
|||||||||||||||
|
Модератор
|
|||||||
| 25.08.2021, 16:21 | |||||||
|
Несколько отвлекаясь от темы ( Объединяйте их костылями. В Java же завезли рефлексию. Выковыривайте методы getText по имени в рантайме, к примеру.
0
|
|||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|||||||||||||
| 02.09.2021, 13:49 | |||||||||||||
|
Сравнивать Ocaml'овские модули с тайп-классами и трейтами всё же не совсем корректно, их нужно сравнивать с Хаскелльными и Растовыми модулями. Например, подключил ты какой-то модуль реализации стека:
0
|
|||||||||||||
| 02.09.2021, 13:49 | |
|
Плюсы и минусы кроссфита Студентская жизнь.Ее плюсы и минусы. Что вы делаете необычное на форуме(плюсы и минусы) Плюсы и минусы использования ООП в PHP Где лучше учить ООП PHP ? И зачем нужен ООП Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|