There seems to be about the same level of effort with Elixir as there is for a language like Kotlin.
The free sandwich I'm referring to with Go is the ability to just do `go funcnamehere()` and that's running concurrently and in parallel. If I need coordination of those goroutines, I can still do that with any number of locking patterns. It's extremely convenient, making the trade off of having a runtime baked in worth it imo.
Well, almost exactly the same goes for Elixir. You have to declare a supervisor first but from then on it's trivial, almost on the level of `go doThisThing()`.
That's why I made Elixir my main language. A lot of the tech sphere stubbornly pretends we don't live in a world with multicore CPUs, even to this day.
Parallelism is trivial and front-and-center.
And no it's not a niche language. Don't listen to the army of Python technicians.