Skip to content

Akka vs. ZIO vs. Monix, part 2: communication

blog.softwaremill.com
34 pointsddispaltro2 comments
On HN

Comments

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).

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.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.