Поддержка ООП в Rust - норм или стрем?
От: Shmj Ниоткуда  
Дата: 26.12.25 06:07
Оценка: 3 (1)
Вот тут приводил пример многоуровневого наследования: классика (C++, Java, C# — разницы нет) vs Rust: https://rsdn.org/forum/flame.comp/9036896.1
Автор: Shmj
Дата: 24.12 20:55


Вот пример где это практически нужно: https://github.com/chromium/chromium/blob/main/third_party/blink/renderer/core/html/forms/email_input_type.h

EmailInputType -> BaseTextInputType -> TextFieldInputType -> InputType -> GarbageCollected<InputType>


Некоторые говорят то что в Rust нет наследования реализаций — норм. А вы как думаете?
=сначала спроси у GPT=
Отредактировано 26.12.2025 7:59 Shmj . Предыдущая версия .
Re: Поддержка ООП в Rust - норм или стрем?
От: GarryIV  
Дата: 26.12.25 06:15
Оценка: :)
Здравствуйте, Shmj, Вы писали:

S>Некоторые говорят то что в Rust нет наследования реализаций — норм. А вы как думаете?

наследования реализаций — зло
композиция — добро
WBR, Igor Evgrafov
Re[2]: Поддержка ООП в Rust - норм или стрем?
От: Shmj Ниоткуда  
Дата: 26.12.25 06:32
Оценка: -2
Здравствуйте, GarryIV, Вы писали:

S>>Некоторые говорят то что в Rust нет наследования реализаций — норм. А вы как думаете?

GIV>наследования реализаций — зло
GIV>композиция — добро

Кто сказал? Мы на практике видим обратное — передовые проекты используют наследование реализаций и это удобно.
=сначала спроси у GPT=
Re[3]: Поддержка ООП в Rust - норм или стрем?
От: GarryIV  
Дата: 26.12.25 06:37
Оценка:
Здравствуйте, Shmj, Вы писали:

S>>А вы как думаете?

GIV>>наследования реализаций — зло
GIV>>композиция — добро
S>Кто сказал?
Я
WBR, Igor Evgrafov
Re[4]: Поддержка ООП в Rust - норм или стрем?
От: Shmj Ниоткуда  
Дата: 26.12.25 06:42
Оценка:
Здравствуйте, GarryIV, Вы писали:

GIV>>>композиция — добро

GIV>S>Кто сказал?
GIV>Я

Не подтверждено практикой. Я привел реальный проект, один из самых популярных в мире — и там именно наследование реализаций для ключевого функционала.

Не везде это уместно, но когда такой функционал не поддерживается языком — значительно сужает область его применения.
=сначала спроси у GPT=
Re[5]: Поддержка ООП в Rust - норм или стрем?
От: GarryIV  
Дата: 26.12.25 07:05
Оценка: -2
Здравствуйте, Shmj, Вы писали:

S>дин из самых популярных в мире — и там именно наследование реализаций для ключевого функционала.

такого говна в количестве кругом и гордится тут нечем
WBR, Igor Evgrafov
Re[6]: Поддержка ООП в Rust - норм или стрем?
От: Shmj Ниоткуда  
Дата: 26.12.25 07:11
Оценка:
Здравствуйте, GarryIV, Вы писали:

S>>дин из самых популярных в мире — и там именно наследование реализаций для ключевого функционала.

GIV>такого говна в количестве кругом и гордится тут нечем

Говно — это отражение нашего мира. Наш мир не может существовать без говна — попробуй канализацию отключить и пожить без нее. Это важнейшая часть нашего мира, на которой зиждется все живое.

Я понимаю что воняет, что неприятно — хотелось бы жить в мире фей и эльфов. Но так не бывает

ООП — это как канализация — это система по управлению говном. Если ты отключишь канализацию — говно не исчезнет, но управлять им станет намного сложнее и вони будет больше. Аналогично — убери ООП — говно из кода не исчезнет, просто управлять им станет намного сложнее — оно будет просачиваться из всех щелей.
=сначала спроси у GPT=
Отредактировано 26.12.2025 7:18 Shmj . Предыдущая версия .
Re[7]: Поддержка ООП в Rust - норм или стрем?
От: GarryIV  
Дата: 26.12.25 07:18
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Я понимаю что воняет, что неприятно — хотелось бы жить в мире фей и эльфов. Но так не бывает

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

Как говорил профессор

«Если я, входя в уборную, начну мочиться мимо унитаза и то же самое будут делать Зина и Дарья Петровна, в уборной начнется разруха. Следовательно, разруха не в клозетах, а в головах!»

WBR, Igor Evgrafov
Re[8]: Поддержка ООП в Rust - норм или стрем?
От: Shmj Ниоткуда  
Дата: 26.12.25 07:24
Оценка: +2 :)
Здравствуйте, GarryIV, Вы писали:

GIV>А не делай развеситстые иерархии, зависимости аккуратно прокидывай (а то синглетоны тоже "удобно") и тд.


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

В итоге все это невозможно будет поддерживать. Уже привели вам — количество строк кода увеличивается в разы, читаемость снижается.

GIV>Глядишь в какой то момент обнаржишь вокруг фей и прочих единорогов )


Нет, не обнаружишь. Говно никуда не денется, если отключить канализацию. Проблема не в канализации.

GIV>Как говорил профессор

GIV>

GIV>«Если я, входя в уборную, начну мочиться мимо унитаза и то же самое будут делать Зина и Дарья Петровна, в уборной начнется разруха. Следовательно, разруха не в клозетах, а в головах!»


Вы предлагаете убрать унитаз из уборной.
=сначала спроси у GPT=
Re[9]: Поддержка ООП в Rust - норм или стрем?
От: GarryIV  
Дата: 26.12.25 08:39
Оценка:
Здравствуйте, Shmj, Вы писали:

GIV>>А не делай развеситстые иерархии, зависимости аккуратно прокидывай (а то синглетоны тоже "удобно") и тд.


S>Их делают не от балды — а потому что они существуют в реальном мире.

Нет дерево и близко не отражает реальный мир. В этом и проблема наследования реализаций.

Стивен Вольфрам использует гиперграфы чтобы симулировать "реальный мир" — что-то даже получается.
WBR, Igor Evgrafov
Re: Поддержка ООП в Rust - норм или стрем?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 26.12.25 08:43
Оценка: +2
Здравствуйте, Shmj, Вы писали:

S>Некоторые говорят то что в Rust нет наследования реализаций — норм. А вы как думаете?


Тупая мода, которая скоро пройдёт. Но так легче делать язык и перекладывать геморрой на программистов. Поэтому Rust не один такой (я считаю ещё как минимум Go, потому что наследование в нём убогое).
Но на переход маятника в обратном направлении нужно ещё лет пять.
The God is real, unless declared integer.
Re[2]: Поддержка ООП в Rust - норм или стрем?
От: Shmj Ниоткуда  
Дата: 26.12.25 09:11
Оценка:
Здравствуйте, netch80, Вы писали:

N>Тупая мода, которая скоро пройдёт. Но так легче делать язык и перекладывать геморрой на программистов. Поэтому Rust не один такой (я считаю ещё как минимум Go, потому что наследование в нём убогое).

N>Но на переход маятника в обратном направлении нужно ещё лет пять.

Вот как раз к 2030 году
Автор: Shmj
Дата: 23.12 17:32
об этом и объявят. Готов поспорить что MS в процессе добавит в Rust ООП. Слово class там уже зарезервировано, кста.

Хотя уже объявили что не будут весь код C++ переводить.
=сначала спроси у GPT=
Re: Поддержка ООП в Rust - норм или стрем?
От: sergii.p  
Дата: 26.12.25 10:55
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Некоторые говорят то что в Rust нет наследования реализаций — норм. А вы как думаете?


в трейте можно написать дефолтную реализацию и она будет наследоваться. Чем не наследование реализации?
Re[2]: Поддержка ООП в Rust - норм или стрем?
От: Shmj Ниоткуда  
Дата: 26.12.25 11:11
Оценка:
Здравствуйте, sergii.p, Вы писали:

SP>в трейте можно написать дефолтную реализацию и она будет наследоваться. Чем не наследование реализации?


Я же привел пример. Если наследование многоуровневое — по цепочке — тогда везде вам вручную нужно указывать какую версию использовать.
=сначала спроси у GPT=
Re[10]: Поддержка ООП в Rust - норм или стрем?
От: Shmj Ниоткуда  
Дата: 26.12.25 11:52
Оценка:
Здравствуйте, GarryIV, Вы писали:

S>>Их делают не от балды — а потому что они существуют в реальном мире.

GIV>Нет дерево и близко не отражает реальный мир. В этом и проблема наследования реализаций.

GIV>Стивен Вольфрам использует гиперграфы чтобы симулировать "реальный мир" — что-то даже получается.


Реальный мир — он большой и разный. Где-то ООП не нужно и будет излишним. Где-то достаточно дерева. А где-то уже и дерева не достаточно.

Есть много задач, для решения которы ООП как раз подходит. Притом что люди (олды, да) к этому привыкли.
=сначала спроси у GPT=
Re[3]: Поддержка ООП в Rust - норм или стрем?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 26.12.25 11:56
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Вот как раз к 2030 году
Автор: Shmj
Дата: 23.12 17:32
об этом и объявят.


Говорят, что всё неправда. Так что рано суетиться.
Re[11]: Поддержка ООП в Rust - норм или стрем?
От: GarryIV  
Дата: 26.12.25 12:07
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Есть много задач, для решения которы ООП как раз подходит. Притом что люди (олды, да) к этому привыкли.

Ловко ты с наследования на ООП спрыгнул. А ООП да годная вещь.
WBR, Igor Evgrafov
Re[12]: Поддержка ООП в Rust - норм или стрем?
От: Shmj Ниоткуда  
Дата: 26.12.25 12:15
Оценка:
Здравствуйте, GarryIV, Вы писали:

S>>Есть много задач, для решения которы ООП как раз подходит. Притом что люди (олды, да) к этому привыкли.

GIV>Ловко ты с наследования на ООП спрыгнул. А ООП да годная вещь.

Многоуровневое наследование важно для многих задач — пример привел. Не обязательно пихать везде, но когда его нет — GUI полноценно не напишешь.
=сначала спроси у GPT=
Re[3]: Поддержка ООП в Rust - норм или стрем?
От: GarryIV  
Дата: 26.12.25 12:20
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Если наследование многоуровневое — по цепочке — тогда везде вам вручную нужно указывать какую версию использовать.

Hint: Новые языки стараются делать так чтоб правильный код было писать проще а неправильный сложнее.
WBR, Igor Evgrafov
Re[4]: Поддержка ООП в Rust - норм или стрем?
От: Shmj Ниоткуда  
Дата: 26.12.25 17:00
Оценка:
Здравствуйте, GarryIV, Вы писали:

S>>Если наследование многоуровневое — по цепочке — тогда везде вам вручную нужно указывать какую версию использовать.

GIV>Hint: Новые языки стараются делать так чтоб правильный код было писать проще а неправильный сложнее.

Kotlin — 2010
Dart — 2011
Swift — 2014

— везде есть классическое многоуровневое наследование

Тут скорее другое. Новые языки разрабатывают под конкретную задачу. Сделать одновременно и низкоуровневый и мультипарадигменный — почти никогда не стоит задача, да и сложно это.
=сначала спроси у GPT=
Отредактировано 26.12.2025 19:49 Shmj . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.