Sergey
вот тут хорошо проблема наследования в ООП описана
Anonymous
@hihideaki я говорю о 70-х, вспомни сколько килобайт памяти в те времена стоил?)
ну Бритву Окама не в программировании придумали и не для экономии памяти, а для экономии мозгов
Sergey
что мол "это не ооп други, ООП не про наследование"
Sergey
@hihideaki бритва окама придумана филосафами как один из инструментов (есть еще другие бритвы) дабы срезать ими до истины
Дима
Надо отдать должное, холиваришь ты лихо, я уже не улавливаю нити беседы 😄
Sergey
есть еще бритва Хэнлона
Sergey
она как раз про C++
Sergey
@hihideaki бритвы ты упомянул. И я все еще не понял к чему ты это
Anonymous
@hihideaki бритвы ты упомянул. И я все еще не понял к чему ты это
ну это самый яркий пример из жизни, принципа DRY, разве нет?
Sergey
@hihideaki нет.
Ale
DRY не про код, а про смысл
Sergey
дублирование логики != множить сущности
Sergey
сущности у нас остаются те же просто в разных местах повторяются
Anonymous
дублирование == множить сущности
Sergey
@hihideaki нет. У тебя одна и та же сущность, просто их много. А бритва окама о том что ты приплетаешь НОВЫЕ сущности
Sergey
что бы обосновать какой-то факт
Sergey
и повторюсь - композиция
Anonymous
не вижу разницы, извини
Sergey
я думаю ты прекрасно знаешь что такое композиция функций
Sergey
то же и с объектами
Sergey
никакого дублирования логики
Sergey
никакого наследования классов - лишь наследование типов
Sergey
вообще... ладно
Sergey
закругляясь скажу - есть такое мнение (и его высказывают бородатые дядьки, которые стояли у истоков ООП), что нужно просто забить на ООП. Скажем... выдумать что-то новое, трендовое, с теми же идеями но чуть чуть по другому
Sergey
переучивать людей всеравно бесполезно
Ale
типа как mvc и flux?)
Sergey
вот только хотел написать)
Sergey
ну сработало же)
Sergey
теперь у всех однонаправленный поток данных
Sergey
прям как в MVC 70-х годов)
Ale
где-то Тругве взгруснул)
Sergey
Тругве не грустит. На FWdays чувак одну из его идей описывал. Люди не поняли... я к слову тоже. Про контекстно-зависимые объекты, у которых интерфейс адаптируется под контекст
Sergey
тип для задач с нетривиальной логикой
Sergey
надо бы к слову почитать еще раз и разобраться
Sergey
а по функциональщине... никогда не забуду у нас в минске конфу... все было весело, и вот один доклад... тип "вы не знаете теорию категорий - вы говно"
Sergey
блин... я ж сейчас по сути цетирую людей, с которыми холиварил года полтора назад... про то что надо сначала структурное программирование изучать, потому функциональщину и потом лесть в ООП
Sergey
а то понаридумывали монад
Sergey
ладно... надо дела делать. А то тут народ походу на холивары не падкий
Дима
Да ты просто с козырей зашёл, всех раскидал ваще, похоливаришь тут 😄
Anonymous
почитал про композиция, действительно очень просто и соблюдает dry
Anonymous
круто
Дима
типа как mvc и flux?)
Видел мануал по react+redux, в котором выносили какую-то логику из редюсеров отдельно, в итоге получив три модуля с чистыми данными, чистым рендером и редюсерами, и автор такой мол "смотрите как теперь хорошо то получилось, удобно" 😄
Ale
ну вот и правда сработало)
Дима
Ну просто он так mvc получившийся расхваливал, не подозревая об этом, что прям смешно стало))
Дима
time is a flat circle
Ale
главное, что возможно его проекты стали чуточку лучше)
Дима
Ну это да, так то мысли дельные были. Там вроде селекторы данных как-то лихо иммутабельно выделялись, надо сейчас поискать)
Anonymous
скинь сюда, интересно
Sergey
@ZeroBias во всям виновата индукция и предположения. Человек увидел одно говно - ему сказали что это МВС, увидел второе - тоже самое. Третье, четвертое... ну тут уже и коню ясно что говно это все и надо что-то новое. Вот и переизобретают.
Дима
Ну понятно, что все за всё хорошее против всего плохого
Sergey
Видел как-то видео, где бородатые дядьки (всякие ворды каненхеым, кенты бэки) вспоминают былые деньки... мол они представители первого покаления настоящих программистов. Тип зелеными начинали. До них все делали профы из других дисциплин
Sergey
что мол они через 10-20 лет практики начали переизобретать то, что было еще в 60-х
Дима
Ну сначала "как", потом "зачем", js сейчас тот же путь проходит
Sergey
только ли js
Sergey
есть мнение что это от того, что в каждый момент времени у тебя 50% всех девелоперов имеют менее 5 лет опыта работы
Sergey
а девелоперы с большим опытом часто мигрируют из команды в команду
Sergey
и оставляют часть знаний тут и часть знаний там
Sergey
вот народ и не успевает разбираться и выдумывает "свое"
Sergey
идеи то довольно очевидны что бы их не переизобрели
Дима
Не факт
Sergey
мне нравится помещать все эти вещи в категорию "неочевидное очевидное"
Sergey
потому что когда ты с этим разобрался - оно настолько элементарно и просто
Sergey
но ты потратил год что бы разобраться
Дима
Это не переизобретение
Дима
Ты же не разрабатываешь софт по водопаду без откатов?
Dreamerinnoise
Всё современное программное обеспечение overengineered. Мы решаем проблемы которых нет, занимаемся разработкой для разработки.
Dreamerinnoise
турбовброс
Дима
...А тогда чего "они" раз за разом проектируют и задачи ставят? Всё же давно поставлено!
Дима
Тот же принцип в языках, это итеративный подход к поставленным задачам
Sergey
> @dreamerinnoise Всё современное программное обеспечение overengineered. Да
Sergey
https://www.youtube.com/watch?v=GRr4xeMn1uU
Sergey
обожаю это видео скидывать когда разговор заходит об оверинженеринге
Sergey
рекомендую к просмотру всем тем, кто думает что "я не оверинженерю"
Дима
Пройдя весь предыдущий цикл, выходишь на новый уровень проблем
Дима
Расскажи кому нибудь в js в 2007 зачем нужен redux
Sergey
@ZeroBias проблема та в том, что для бизнеса этих проблем как правило нет, их выдумывают разработчики
Sergey
> в 2007 зачем нужен redux думаешь в 2007-ом уже все заболели двойным связыванием где не к месту7
Sergey
а хотя да
Дима
Бизнес, твои тимлиды +5y. — это всё фоновое и постоянное, как белый шум