> NO DOWNTIME code upgrades
This doesn't need to be a language feature, but this is possible on the JVM afaik (see Clojure).
Also, NO DOWNTIME in the context of services is kind of hard to qualify: I have no downtime for say, a web service, when doing a load-balancer deploy shuffle.
> incredible request responsiveness as well as reliability
"Request responsiveness" to some degree depends on language- a language is sometimes your upper-bound on performance.
Much more often, however, do I find that this is a function of application design. And yes, language design and application design heavily play into each other, but there are many, many languages that can achieve the same responsiveness/reliability concerns.
Haskell, many JVM-hosted languages are good choices.
> Immutable data
Almost every modern functional language. Many even do it (immutable data structures) better than Erlang/Elixir. Some even have interesting (state of the art) concurrency features that perform better in different situations - see Haskell STM (I wouldn't try and compare to Mnesia).
> Extreme concurrency
Haskell, Go, anything on the JVM, the CLR is catching up.
> Actor model
This is a bit of a subjective and semantic thing - many languages have green threads (though not all would necessarily fit the bill of "actor model" in out-of-the-box implementation, and not all are truly preemptive (most aren't)) - Haskell, Go are two good out-of-the-box implementations.
I know Haskell has an Erlang Actor analogue, not sure if Go does yet.
> The awesome community
I hesitate to use the word "niche language" - but most "niche languages" have great communities (albeit small ones) - possibly out of necessity.
I don't find that this scales often
(What would you call the "Java community?", where would you find it?, where are the pockets of "good?")
This is 100% subjective, but, I feel like Ruby has one of the best, largest communities. Some of that has bled into Elixir, for sure, to be fair.
---
All in all, Elixir is a great language, but I hesitate to recommend it without knowing more about GP's requirements and business.
(What if the GP needs to do very memory and CPU-intensive number crunching?)