
Aleh
28.08.2017
11:31:18
уж лучше жс без типов, чем жава)

Ilya
28.08.2017
11:32:05
Здоровый програмист приходит на новую работу, его инжектят массивной дозой многого ФП, он становится плохим. Много таких кейсов. ГРУСТНО!

Nikita
28.08.2017
11:33:09
Без типов лучше Clojure

Ilya
28.08.2017
11:33:28
https://brianmckenna.org/blog/howtostopfp
Во, нашёл.

Google

Ilya
28.08.2017
11:34:34
Any self-respecting Enterprise Programmer would know that you can always opt to use an ORM or any other proxy-generating library. That way even the simplest piece of code - such as object property access in this case - can include as many side-effects as you can imagine and you will never have to worry about your functions being too pure again!
Каждый раз убивает.

Nikita
28.08.2017
11:37:02
>you will never have to worry about your functions being too pure again!
WAT

Ilya
28.08.2017
11:37:16
Это ирония.

Nikita
28.08.2017
11:37:28
ага
я еще статью не почитал :)

Ilya
28.08.2017
11:37:32
Где-то был текст из ансорсед источника, что программисты не понимают сарказм и иронию.

Nikita
28.08.2017
11:37:33
не видел раньше

Ilya
28.08.2017
11:37:41
Не могу согласится.

Nikita
28.08.2017
11:37:48
просто контекст не увидел
еще как понимают

Ilya
28.08.2017
11:38:06
Ага.

Nikita
28.08.2017
12:06:16
Обучение ФП действительно проблема. Мне только в последнее время начали попадаться тюториалы, которые прикладные, без аналогий в духе монада это буррито и при этом справляющиеся с введением в небольшую часть абстрактной алгебры.
Сразу скажу, что я мягко говоря не продвинутый знаток и пользуюсь не типизированными языками.

? animufag ?
28.08.2017
12:11:29
прагматичные туториалы по монадам не помогают

Google

Nikita
28.08.2017
12:12:18
помогают, но далеко не все
сейчас пришлю, тот что мне понравился, а ты скажешь насколько он адекватен
https://jaysoo.ca/2017/04/30/learn-fp-with-react-part-1/
хотя он мне может казаться хорошим, потому что у меня есть уже какие-то знания

? animufag ?
28.08.2017
12:19:57
хз как-то внапряг читать про реакт и фп одновременно. мысль ускользает.
из плюсов: читатель знакомится с тем что инстансы функтора могут быть не только у списков и опшионалов

Nikita
28.08.2017
12:20:38
это для тех, кто знает реакт
ну да
есть заход с выходом на более высокий уровень абстракции
это пока самый хороший тюториал из всех, что я видел

? animufag ?
28.08.2017
12:26:46
const View = computation => ({
fold: props => computation(props)
})
fold как-то неинтуитивен

Nikita
28.08.2017
12:45:56
наверняка тюториал можно улучшить :)
но остальные хуже

Denis
28.08.2017
12:46:27
у Брайана есть доклад про контрамапы и реакт
https://github.com/DrBoolean/Oh-Composable-World

Nikita
28.08.2017
12:46:40
я кажется видел

.
28.08.2017
12:46:42

Nikita
28.08.2017
12:46:42
ага
пожалуйста ?

Denis
28.08.2017
12:47:38
а вообще у меня где-то все эти статьи что вы тут постите были тут https://github.com/xgrommx/awesome-functional-programming :D

Nikita
28.08.2017
12:49:12
списки не очень юзабельны

Google

Nikita
28.08.2017
12:49:54
не ясно во что лучше кликнуть :)

kana
28.08.2017
13:15:56
да, по списку никто железно не будет проходить и каждый элемент смотреть
У меня когда-то был список из овер 1к докладов, возникла идея сделать некоторый сервис, на который заходишь, а он тебе рандомный доклад выдает, люди его лайкают/дизлайкают - шанс появления у других людей этого доклада повышается/понижается
Получается такой автомодерируемый список докладов без интерфейса списка, люди видят только один конкретный элемент за раз (диктатура мать его), который они могут или просмотреть, или скипнуть
идея так и осталась идеей, но когда-нибудь я выберу ее из своего списка идей и реализую)

Nikita
28.08.2017
13:19:41
разные доклады не всем одинаково полезны
проблема в персонализации данных, которые получает пользователь
но сделать надо
к тому же не понятно, как новые доклады будут появляться в топе

andretshurotshka?❄️кде
28.08.2017
13:20:06

kana
28.08.2017
13:20:24
нет, нужен будет отдельный сервис для идей

Nikita
28.08.2017
13:20:48
да ))
я на маке и складываю их в Things app

kana
28.08.2017
13:21:33
ну для персонализации теги подходят, не сложно. А топ формируется про коэфиценту лайков/дизлайков (поставил один лайк и 0 дизлайков и рейтинг доклада взлетел до бесконечности)

kana
28.08.2017
13:22:21
попробую на пурсе сделать, с ней я еще не работал. Бэк на хаскеле, нужно опыт закрепить

Nikita
28.08.2017
13:22:31
не подходят к сожалению
нужно каким-то образом классифицировать статьи по сложности
мне ничего лучше курирования статей умным человеком (достаточно умным, что бы понимать нужды людей с разным уровнем) в голову не приходит
а это куча не автоматизированной ручной работы
хотя можно что-то придумать кмк

kana
28.08.2017
13:23:26
вот от ручного модерирования я хочу максимально далеко убежать, хочу автономность

Nikita
28.08.2017
13:24:25
понимаю

? animufag ?
28.08.2017
13:35:58

kana
28.08.2017
13:37:20
вообще для этой задачи хватит и элма

Google

? animufag ?
28.08.2017
13:37:50
ну лол. джс и пхп хватит

Nikita
28.08.2017
13:40:12
зачем же сразу в крайности
хотя лично мне элм не нравится

kana
28.08.2017
13:41:44
я понял
это же получается как Яндекс.Радио для музыки
нужна нейросеть)

Nikita
28.08.2017
13:42:08
ну началось ))

kana
28.08.2017
13:42:12
получается модный стартап с нейросетью

Admin
ERROR: S client not available

kana
28.08.2017
13:42:27
черт, уже пишу "монадный" вместо "модный"

Nikita
28.08.2017
13:42:49
если еще каким-то образом к Ethereum платформе прикрутить, то можно начинать собирать деньги

kana
28.08.2017
13:43:26
чтобы лайки не накручивали, все будет через умные контракты
подписка по биткоинам

Nikita
28.08.2017
13:44:56
д

andretshurotshka?❄️кде
28.08.2017
22:50:03
запустил идрис только когда стэк у ноды увеличил


Vadim
29.08.2017
03:21:42
Еще один минус в копилочку минусов функционального подхода в js:
при использовании функциотальных либ ты теряешь в IDE возможность навигации по декларациям и местам использования констант, если они прошли через цепочки функций.
Например, я сейчас прикручиваю библиотеку recompose для реакт. У нее есть такой метод withHandlers, в котором ты описываешь функции-хэндлеры, которые при следующем вызове будут переданы реактовскому компоненту в виде пропсов. Так вот, IDE теперь не знает где описан вызываемый хэндлер. И кроме того, она теперь подсвечивает функцию-хэндлер как неиспользуемую. Просто потому что не понимает что далее в цепочке используется этот же хэндлер.
Это я к тому что использование функциональных библиотек для IDE является “магией”, и она теряет возможность отслеживать где что объявлено и используется.
Мда… количество необходимых доводов для того что б протолкнуть использование функционального подхода в компании все растет и растет )
Мне вот интересно, а есть ли вообще в России компании с коллективом из, как минимум, нескольких фронтендеров, в которых используется строго функциональный подход В JS? )


oleg
29.08.2017
04:44:02
А зачем писать на строго функциональном JS, когда есть Elm и Reason

Vadim
29.08.2017
05:23:40

Google

pepsi ¯\_(ツ)_/¯
29.08.2017
05:57:03

.
29.08.2017
05:58:28

pepsi ¯\_(ツ)_/¯
29.08.2017
06:02:52
То, что я перечислил, компилится в Js. Да еще небось свои биндинги к Rx имеют

.
29.08.2017
06:03:53

pepsi ¯\_(ツ)_/¯
29.08.2017
06:04:05
И вобще, я не на твой вопрос отвечал, чего ты подкапываешься?

.
29.08.2017
06:04:27
Я не подкапываюсь! Мне просто интересно мнение. Это дискусия же

pepsi ¯\_(ツ)_/¯
29.08.2017
06:05:46
Тогда может быть ты знаешь, где пишут клинта строго на Js и строго в ф-стиле?)

.
29.08.2017
06:07:33
Я нет. Просто пытаюсь взвешивать аргументы за и против ну и более или менее за технологиями следить. Ну и я сторонник мнения, что чисто функциональный стиль это скорее условно научное ну и R&D, в прикладном смысле эффективнее ООП+ФП. Процентное соотношение может варьироваться

Nikita
29.08.2017
06:46:37
Какие именно части ООП и ФП?

Kirill
29.08.2017
06:55:55

.
29.08.2017
07:27:55
Какие именно части ООП и ФП?
Например классы, объекты и наследование, использование абстрактных классов не только как типов. ФП всё остальное.
Это на вскидку конечно же и с дивана.

Nikita
29.08.2017
07:39:41
Для чего нужно наследование?

.
29.08.2017
07:45:38

oleg
29.08.2017
08:01:01

Aleh
29.08.2017
08:07:46
Elm и не взлетит, там и взлетать нечему

Nikita
29.08.2017
08:10:39
Будет в своей нише

oleg
29.08.2017
08:14:34
Да я собственно тоже с этим согласен.
Просто научить всех членов команды писать в строго функциональном стиле на js сложно. Я бы брал специальный инструмент для таких целей.
Конечно это могло бы быть странным требованием в бизнесе

Nikita
29.08.2017
08:19:12
Да, в JS нужно много знаний и дисциплины
Да и во многих случаях ФП выглядит не очень естественно в плане синтаксиса