Pull to refresh

Comments 3

Хорошая статья.
Добавлю лишь, что:
- Подход с Callback'ами в Java - это больше редкость; намного чаще с Future пишется асинхронная логика
- Реактивный код - это структура с определенным набором элементов и иногда бывает ваша логика в нее не может вписаться никак, а фьючеры более гибки
- Дебагинг реактивного кода не нативен и сложнее императивного
- В реактивном коде можно динамически строить пайплайн как конструктор, что иногда спасает
- И самое главное - в статье не упоминаются Virtual Threads, которые призваны решить упомянутые проблемы фьючеров, уйти от КоллбекХела и сделать императивный вариант лучше; в общем они сокращают число преимуществ реактивного подхода над императивным для определенного круга задач (с интенсивным IO, как у вас).

И еще: как по мне эти реактивные пайплайны выглядят очень симпатично с эстетической точки зрения.

Имхо главная проблема реактивщины - нужен хороший опыты и понимание фреймворка чтобы написать хорошо работающий код, иначе получается кривое косое.

В этом плане coroutines/virtual threads намного проще для использования для разработчика средней руки.

Часто наблюдал где люди вставляли горячие блокирующие вызовы в flatMap, а потом удивлялись почему все работает плохо. Винят они конечно же реактивный фреймворк.

По поводу дебага - это да, действительно больно.
И про эстетику тоже не могу не согласиться

Sign up to leave a comment.

Articles