- BEAM has green-thread-local GC.
- As you mentioned, preemptive scheduling is implemented at the VM-level and is relatively elegant.
- Faster startup times (meh)
- Dynamic typing (subjective)
> JVM is generally more efficient
Depends on the scenario (and JVM implementation) - tracing, STW GC isn't always the best option.
> has better tooling (ide support)
Yes.
> has better libraries
Bit subjective, but there are certainly MORE JVM-compatible libraries.
---
Personally not a fan of Akka simply due to the underlying languages commonly used with it (Scala, Akka)
As a Haskell-user: if forced to choose between Scala and Elixir, I would choose Elixir.
- BEAM has green-thread-local GC.
- As you mentioned, preemptive scheduling is implemented at the VM-level and is relatively elegant.
- Faster startup times (meh)
- Dynamic typing (subjective)
> JVM is generally more efficient
Depends on the scenario (and JVM implementation) - tracing, STW GC isn't always the best option.
> has better tooling (ide support)
Yes.
> has better libraries
Bit subjective, but there are certainly MORE JVM-compatible libraries.
---
Personally not a fan of Akka simply due to the underlying languages commonly used with it (Scala, Akka)
As a Haskell-user: if forced to choose between Scala and Elixir, I would choose Elixir.