Дима
Продолжаю писать убийцу реакта, и у меня есть класс вьюхи. У нее два метода: mount и update Вопрос: как это будет в фп-парадигме?
Развивая до конца идею разделения данных и их обработчиков, напрашивается вынос обработчиков mount и update в отдельную сущность-обработчик Получается большая гибкость - функции будут принимать не строго конкретный тип данных, а интерфейс. Отталкиваясь от этого уже гораздо проще будет делать композицию функций и прочую абстракцию
Vlad
тем не менее алан кей задумывал ООП не таким как оно сейчас
Anonymous
https://iamstarkov.com/fp-js-workshop/01-theoretic-intro/
Что-то с телефона слайды не листаются 😢
Vlad
Ale
если бы был бум фп, то сейчас бы точно также лопатой разгребали
Ale
и даже без inheritance?
так любой современный ооп гид большими красными буквами будет писать, если хотите наследовать, то ПОДУМАЙТЕ МИЛЛИОН РАЗ, скорее всего у вас что-то не так
Дима
и даже без inheritance?
Мне кажется наследование - это главное зло в ООП
Дима
В Go например принудительно ограничивается наследование в пользу композиции
KlonD90
зачем это слово reduce? и не state а stream комманд
Дима
Интерфейсов
Ale
ну вот один из столпов ООП уже рухнул
об этом еще в 2002 можно было читать в книгах дяди Боба
Ale
да уверен и раньше, я просто так далеко не заглядывал
Дима
Наследование изначально слегка нарушает все остальные принципы ООП, если так подумать) Думаю многим это было ясно и с самого начала
KlonD90
ох эти разговоры про наследование в 2k16
void *
чот мне кажется вы накурились прототипного программиования
void *
или как его там
void *
а в Crystal строгая типизация?
void *
наверное да
Ale
Наследование изначально слегка нарушает все остальные принципы ООП, если так подумать) Думаю многим это было ясно и с самого начала
мне кажется, правильнее было бы: наследованием можно нарушить все остальные принципы ооп, если неправильно его использовать
blkmrkt
лучше sequelize ORM для постгрес пока ничего нет для жс?
Anonymous
такое бывает =(
пофикси будет большой +
Serhii
чет я слабо верю в удобность фп
Serhii
почти все фреймворки принуждают к дикларативному
Nobu
а почему на этой картинке именно Кафка?) это какая-то особо тонкая шутка?
Vlad
пофикси будет большой +
я даже не знаю, какой у тебя телефон, чтобы заверифаить, что пофиксил
Anonymous
Samsung s4
Vlad
про ооп хорошая статья https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53#.5zhpw6lhr
Vlad
yep, confirmation bias, but seems legit
Ale
о, да, как раз про эту статью и думал, когда читал why not oop)
Ale
tldr если делать плохо, то будет плохо
Vladislav
Nobu
я все же думаю наиболее перспективным является метод мультипарадигмы и смешения подходов, когда язык берет самое интересное и нужое из различных парадигм (собственно, многие языки сейчас в этом направлении и развиваются)
Nobu
одна-единственная парадигма никогда не станет некой серебряной пулей для универсального и удобного решения всех задач
Vlad
да
Ale
да, все так
Nobu
именно поэтому кстати я скептически отношусь к тому же хаскелю, как по мне это скорее интересный эксперимент с "чистой парадигмой", чем реально полезный инструмент; даже оплот ООП Java в итоге и то поддалась и стала мультипарадигменной, не говоря уже о C++
Anonymous
линзы в жс дорогое удовольствие
Anonymous
и в ом они себя незарекомендовали
Ale
ом?
Anonymous
om
Anonymous
об это сам Нолен написал
Anonymous
в вики om.next есть про это
Anonymous
но вообще в твиттере получше это все обсирали
Vladislav
@iamstarkov я дочитал статью про ленсы, и там какая-то адуха с середины начинается, т.е. непонятно нифига без практики
Vlad
в одной из них хорошо
Vladislav
ну я начал с «Functional Lenses, How Do They Work»
Vlad
функции нужно поменять что-то внутри объекта
Vlad
если делать чистую ф-ию без линз
Vlad
надо сохранять идти внутрь, менять, обновлять, возвращать целый объект
Vlad
с линзами можно по другому
Vlad
создать линзу по пути: заглянуть внутрь объекта на N уровней
Anonymous
https://github.com/omcljs/om/wiki/Quick-Start-(om.next)#global-state-coupling
Vlad
создать fn которая на том уровне будет что-то делать
Vlad
over(pathLense, fn, yourState)
Vlad
в результате будет newState
Vladislav
в общем, попробую поимплементировать
Anonymous
Кто там кричал про HooliJS? Вот выкладывают доклады https://youtu.be/HPFARivHJRY
Dmitry
https://iamstarkov.com/fp-js-workshop/01-theoretic-intro/
Круто, надо посмотреть
Dmitry
все. мне кажется они просто одумались
Ну они не такие раскрученные как РИТ. Поэтому я думаю у них реп упал бы быстро.
Cheslav
как красивее всего проверить переменную на равенство одной из пяти строк?
Cheslav
или нужно все таки копировать ее название 5 раз?
Damir
ребята, как работает во вконтакте мезанизм глушилки музыки в одной вкладке, когда другая музыка начинает играть в соседней вкладке?
Damir
помню было где-то, не найду
Andrey
хотя тебе наверное не это надо)
hlomzik
помню было где-то, не найду
Web-workers? localStorage? Через любой механизм, доступный одновременно в разных вкладках
Cheslav
в if)
Andrey
Там через локал или сессион сиорадж, там постоянно что то записывается)
Andrey
И можно подписаться на изменения стораджа в другой вкладке