
Akka vs. ZIO vs. Monix, part 2: communication - ddispaltro
https://blog.softwaremill.com/akka-vs-zio-vs-monix-part-2-communication-9ce7261aa08c
======
tunesmith
Knowing nothing about Monix, I had heard its reputation that it was a simpler
alternative to akka-streams. I had heard this mainly from people that dislike
Akka in general. But skimming this, Monix and ZIO strike me as lower level and
harder to deal with than Akka (or Akka Typed).

~~~
JD557
> Monix and ZIO strike me as lower level (...) to deal with than Akka

It depends on your point of view. Usually, the actor model is considered a
lower-level abstraction when compared to streaming.

For example, if you want to implement a simple map-reduce in the actor model,
you will need to create a set of mapper actors, a reducer actor, and an actor
to distribute jobs between the mapper actors. Meanwhile, using a stream
library, this will pretty much become something like
`jobs.mapAsync(f).reduce(g)`.

However, since in this example you are implementing actors on top of the IO
monad, it is natural that the actor model appears like an higher level
abstraction. If the examples were backward (i.e. implementing streams on top
of actors, like akka-stream), you would probably get the opposite idea.

