Rust без Наследования

preview_player
Показать описание
В этом видео я расскажу о реализации наследования в Rust, почему нам приходится думать о нём и как без сложностей перевести свой код с объектно-ориентированных языков на Rust.

----------

----------

Это видео может быть интересно любому, кто интересуется системными языками программирования, любит изучать низкоуровневые концепции и работу железа - процессора, оперативной памяти, видеокарты. Если вы знаете или хотите изучить языки C++, Go, Zig - Rust станет отличным дополнением, а возможно даже сможет сместить ваш интерес в свою сторону за счёт таких преимуществ, как безопасность памяти, потокобезопасность,
современный API. Rust так же станет прекрасным языком, если вы хотите лишь немного прикоснуться к системному программированию, изучить работу железа, но при этом не оставлять высокоуровневые, простые в использовании языки, такие как Python, Java, JavaScript, Kotlin, Lua.

На этом канале вы найдёте множество видео как на тему системного программирования, так и более общих концепций программирования, таких как ООП, системный дизайн и множество других тем, которые стоят того, чтобы их обсудить.
Рекомендации по теме
Комментарии
Автор

Прекрасное видео! Очень хотелось бы поподробнее про ECS)

hackermann
Автор

Хорошее видео, информативное!
Очень хотелось бы, увидеть всё об ECS, с примерами, или реализацию настоящего сервера, актуальная тема на Rust... Спасибо!

data-center-project
Автор

Большое спасибо за видео! Однако должен отметить, что на 7:52 наследование прямоугольника от квадрата и наоборот нарушает LSP (Liskov Substitution Principle).

lwind
Автор

Про наследование trait было сказано? (я не всё смотрел)

koshchey
Автор

базовая идея ооп в сpp и java это возможность создания фреймворка одними людьми и компонент для этого фреймворка другими. в фреймворк case в switch не добавишь. go и rust плохи в этой парадигме. правда на сервере паттерн фреймворк-компоненты не востребованы практически вообще.

kjk
Автор

2:13 В данном случае нет необходимости использовать вызов виртуальной функции, поэтому ускорения не будет. Эта особенность Go нужна для надёжности, а не для ускорения.

koshchey
Автор

Чувак! Ты как раз вовремя! Я только учить начал

pepesugar-og
Автор

спасибо за видео! обычно наследование помогает бороться с дублированием кода, а в Rust как будто надо каждый impl писать заново для каждого struct. особенно если используются атрибуты внутренние. можно подробнее как в Rust это решать?

white
Автор

статический диспатч не считается за полиморфизм? something: impl MyTrait по сути компайл тайм полиморфизм же, ты используешь одну функцию, хоть в итоге это всё и раздувает приложение копированием функции под разные типы, или не прав?

hh_
Автор

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

ГеннадийШушпанов-дч
Автор

Enum dispatch ❤
Можно было рассмотреть работу с dyn в многопоточной среде

drsgfa
Автор

я понял кого напоминает мне твой голос и манера разговора - onigiri есть такой крутой блогер)

snatvb
Автор

В Go никто ни о каком наследование не говорит. То чт опоказан оназывается встраиванеи, и это явно указано в литературе и докуменации.

mikeofs
Автор

как мне кажется слово НЕПРАВИЛЬНЫЙ в контексте каких то подходов не очень уместно

rkc
Автор

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

СергейБакин-фр
Автор

Как то тяжело зашло и не факт что правильно понялось.

ВасилийШумилов-оь
Автор

Не нужно париться используйте js чистый

ДимонКоллектор
Автор

Слишком много слов, зачем-то убеждений и попыток чего-то доказать. Лучше бы меньше минут ролик шел чем это

goodpins