Иван мне высказал в комментариях претензию, что писать про маркетинг это не техно и что я неправильно разделяю техническое и гуманитарное. Чтобы Иван понял, как работает мой мозг, посвящаю ему этот пост.
(я просто поднимаю знания по языку Go, и лезут разные мысли — вот одна из них)
Некоторые возможности ООП традиционно воспринимаются как благословение и проклятие. В частности, множественное наследование, которое гиперактивно работает в Python и от которого всеми силами уходят более молодые языки — вроде Rust и Go.
А откуда вообще взялось множественное наследование? Всё зло — от идей. Из размышлений, что весь мир можно разложить на матрёшку из абстракций, где в самом начале у нас будет Святой дух носиться над бездной, потом от этого отнаследуются небо и земля, и потом от земли отнаследуются твари земные и гады морские, а от неба луна и солнце, и так далее до мельчайшей песчинки.
Идея оказалась прилипчивой. Многим ещё памятна иллюзия, что даже кухарка может писать автоматизации (а бухгалтеры запросы к БД, а дизайнеры скрипты для пре-пресса). С AI эта дурь возродилась вновь. Но сейчас там за тебя всё пишут токены. А тогда все хотели создать ультра-высокоуровневые языки (или библиотеки для высокоуровневых языков, поднимающих их на уровень выше). В которых языках бы кухарки писали почти человеческим языком (в наших краях от этого поветрия мы теперь имеем язык 1С).
В пособиях для кухарок, бухгалтеров и дизайнеров надо было объяснять концепции ООП, и они так и объяснялись: на кошках и собаках, на легковых и грузовых машинах, на квадратах и прямоугольниках. Любой, кто ходил по этой дороге дальше кошек и собак, прекрасно знает, что вся эта красота и стройная логика сыплется по швам когда начинается реальная жизнь — надо завести в меню вот такое-то блюдо, и к нему могут быть такие-то гарниры которые тоже могут быть как отдельное блюдо но уже дороже, а могут быть половинные и полные порции, и отдельно топпинги, и вот на эти топпинги у нас по средам скидки, но вот с этим ганиром скидок нет, и на половинные порции скидки тоже половинные, и ещё есть программа лояльности с баллами до 30% от чека но на акции скидки нет.
Всё это поразительным образом напоминает мне разные виды социализмов, где тоже просчитаны и научно обоснованы рациональные подходы к общественному устройству, во всех мелочах, и на бумаге всё выглядит гладко и привлекательно — но на деле в колхозах начинается голод, евреи едут в концлагеря, учителей и врачей забивают мотыгами, а виновных в групповом изнасиловании отпускают из зала суда, потому что они «беженцы».
И ООП, и социализмы исходят из одного и того же дерзновения посчитать реальность — и полной уверенности в том, что это возможно, и надо скоее претворить это в жизнь. Никто лучше студента Разумихина это не сформулировал, в части третьей, главе V, во время спора с Порфирием Петровичем:
С одной логикой нельзя через натуру перескочить! Логика предугадает три случая, а их миллион! Отрезать весь миллион и всё на один вопрос о комфорте свести! Самое лёгкое разрешение задачи! Соблазнительно ясно, и думать не надо! Главное — думать не надо! Вся жизненная тайна на двух печатных листках умещается!
В случае с ООП и двух листков было не нужно, кошки и грузовики всё объясняли. Конечно, для специалистов были технические нюансы — и полиморфизм с инкапсуляцией (потом оказалось, что не очень работает), и SOLID (тоже, кстати, не очень работает), и пришли, в итоге, к тому, что нет, давайте вообще без наследования, ведь так же тожно можно.