alf
Джавка страшненькая. Всё это FP превращает и без того не самый красивый язык в Существо.
Функциональность без type inference — это адик. ‎- alf
Альф, кстати: а что из энтерпрайзных языков, на которых пишут прикладной софт, не страшненькое? ‎- Юдж
Всё ад. Но скала лучше джавки. В вышеупомянутом смысле кложа ещё лучше, но они просто забили на типы. ‎- alf
Ну то есть длинная версия: к любой приятной фиче прилагается счёт. Type inference тоже за милую душу укусит тебя за пятку, только отвернись. Но выглядит код на Хаскеле, скажем, не в пример лучше. В некотором смысле, кстати, джавка в том виде, в котором её рендерит IDEA приближается к тому что мне кажется хорошим кодом — но это отдельно. ‎- alf
Спасибо, теперь почитаю еще википедию. ‎- Юдж
Это на самом деле та же проблема что и с Rx, скажем: у тебя появляется возможность очень компактно записать очень сложные вещи. И это даёт огромный бонус, когда ты веришь, что этот кусок кода работает, но хочешь понять, _что_ он делает. ‎- alf
Тут обычно достают из кармана пример на вложенных классах и сравнивают с RxScala. Вложенные классы очень, очень страшные. Стандартный слайд пять..девять лет назад — это несколько колбэков и обведённые красненьким места, не являющиеся бойлерплейтом. ‎- alf
Проблема в том что когда всё плохо, тебе надо понимать, что же за бойлерплейт там был — и если его нету, то поиск концов становится куда веселее. ‎- alf
Мне кажется (бредовая идея, но), что идея с её автоматическим сворачиванием бойлерплейта — это гениальный подход. Когда ты читаешь код, ты видишь только осмысленные части. Когда всё плохо — ты видишь достаточно детальный код, чтобы с этим что-то сделать. ‎- alf
Проблема, ясное дело, в том что в том же Rx ты не можешь развернуть код к исходному бойлерплейту, потому что его нет, есть пайплайны в памяти, и их очень трудно замапить обратно в код. ‎- alf
И ты должен уметь переводить из объектов в памяти обратно в свой код _в уме_. Вспоминаем, что исходное счастье было в том что "у тебя появляется возможность очень компактно записать очень сложные вещи" — и плачем. Это реально сложные вещи, им в голове тесно и самим по себе, а уж со всеми преобразованиями... ‎- alf
"в кложуре забили на типы" — хикки делает их, кажется, по-своему — https://clojure.org/about/spec, надо смотреть, во что это вырастет. ‎- адский хардлайн в засаде
Надо кстати посмотреть, что оказывается в стектрейсах в Streams API. То есть раньше был вариант "убежать в джавку" — больше нет :) ‎- alf
Возможно, ответ в том что в pure FP как только ты изолировал проблему, ты можешь свести её к одному вызову функции, то есть к одному юнит тесту. Это как бы правда, но сначала надо изолировать, хм. ‎- alf
Зацепка в том что я ною про стектрейс. Стэктрейсы в джаве были очень, очень клёвыми. Возможно, трюк в том что для event-driven приложений мне нужен не стектрейс, а event trace. Можно ли его восстановить — вопрос. ‎- alf
dapper/zipkin, бгг!!! ‎- alf
а чо dapper/zipkin? dapper ок :) ‎- middle out-of-sight
Ну event trace же. Надо пощупать на досуге, возможно я их как раз и хочу. Dapper получить трудно :) ‎- alf
Netflix dynomite; Uber ringpop. ‎- alf