Я следую функционально-реактивному программированию в курсе Scala на Coursera, и мы имеем дело с RxScala Observables (на основе RxJava).Различия в потоковой библиотеке Scala (реактивные потоки/Iteratee/RxScala/Scalaz ...)
Насколько я знаю, библиотека Play Iteratee немного похожа на RxScala Observables, где Observables немного напоминает Enumerators and Observers, как Iteratees.
Есть также библиотека Scalaz Stream и, возможно, некоторые другие?
Поэтому я хотел бы узнать основные различия между всеми этими библиотеками. В этом случае можно быть лучше другого?
PS: Интересно, почему Play библиотеки Iteratees не выбрали Мартин Одерский для его курса, поскольку Play в стеке типизированного. Означает ли это, что Мартин предпочитает RxScala над Play Iteratees?
Edit:Reactive Streams инициатива только что было объявлено, как попытка standardize a common ground for achieving statically typed, high-performance, low latency, asynchronous streams of data with built-in non-blocking back pressure
Не ответ, но см. Мой вопрос [здесь] (http://stackoverflow.com/q/18112224/334519) и ответ Rúnar для некоторого сравнения потоков и итераций (хотя, честно говоря, столь же убедительно, как этот поток реализация, я все еще в основном использую iteratees). –
@TravisBrown спасибо, я видел этот пост, но это своего рода тяжелый материал для новичка реактивного программирования. Посмотрите на это более внимательно позже. Является ли Scalaz Iteratee немного похожим на Play Iteratee?Потому что я не помню, чтобы увидеть какие-либо монадные трансформаторы в Play Library –
Да, Play и Scalaz имеют разные итерационные API-интерфейсы, но идея по сути то же самое. Одна большая разница заключается в том, что Play's является менее общим - где Scalaz's параметризуется на произвольной монаде, Play имеет «Будущее», запеченное в. –