gpt4 book ai didi

scala - Scala流库的差异( react 流/Iteratee/RxScala/Scalaz…)

转载 作者:行者123 更新时间:2023-12-03 08:49:39 24 4
gpt4 key购买 nike

我正在Coursera的Scala中的功能响应式编程类(class)中学习,我们处理RxScala Observables(基于RxJava)。

据我所知,Play Iteratee的库看起来有点像RxScala Observables,而Observables有点像Enumerators和Observers有点像Iteratees。

还有Scalaz Stream库,也许还有一些?

所以我想知道所有这些库之间的主要区别。
在那种情况下,一个可能比另一个更好?

PS:我想知道为什么Martin Odersky没有选择Play Iteratees库作为他的类(class),因为Play在Typesafe堆栈中。这是否意味着Martin比Play Iteratees更喜欢RxScala?

编辑:刚刚宣布了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

最佳答案

PS: I wonder why Play Iteratees library has not been choosed by Martin Odersky for his course since Play is in the Typesafe stack. Does it mean Martin prefers RxScala over Play Iteratees?



我会回答这个。推送/传授哪个流API的决定不仅是Martin做出的,而是整个Typesafe做出的。我不知道Martin个人更喜欢什么(尽管我听过他说对新手来说迭代器太难了),但是我们在Typesafe认为,迭代器需要太高的学习曲线才能在异步IO中向新手学习。

归根结底,流媒体库的选择真正取决于您的用例。 Play的Iteratees库几乎可以处理现有的每个流用例,但代价是学习API十分困难(即使是经验丰富的Haskell开发人员也经常会遇到Iteratees),并且还会造成性能损失。其他API处理的用例较少,例如RX无法(当前)处理反压力,而其他API中的极少数适用于简单的流解析。但是对于最终用户来说,流解析实际上是一个非常罕见的用例,在大多数情况下,只需缓冲然后解析就足够了。因此,Typesafe选择了易于学习并满足大多数最常见用例的API。

关于scala - Scala流库的差异( react 流/Iteratee/RxScala/Scalaz…),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20520699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com