Java and C# have the following advantages:
- Familiarity, which means programmers are easy to hire and can finish projects without overcoming a learning curve
- A huge amount of high-quality libraries for almost any task
- Good IDEs and build tools
- The concepts are not exotic. The object-oriented features are now the industry standard.
Nobody wants to spend the time to learn these new languages if they don't offer a significant improvement over Java and C#. Of the ones you listed, Scala is the most likely to succeed because it can interoperate smoothly with Java and offers concurrency features that Java does not. Twitter's successful use of Scala has also contributed to the language's popularity.
functional programming is just not well suited for that kind of work.
That said, I would consider myself an expert C# developer, but unfortunatly needed to move to javascript (nodejs/angular) due to the limited deployment+ecosystem flexibility C# provided. A real pitty, C# and Visual Studio are best-of-breed, and very powerful.
in hindsight, typescript was the ideal way for me to migrate from C# to Javascript. now I can write "pure" javascript without typescript holding my hands, but i do greatly prefer having typescript around!
the only drawbacks of typescript (visual studio) I see right now is lack of debugging support for nodejs, and lack of angularjs intelisence (webstorm supports that well)
I'm a C# dev... and it feels a lot like going back in time working with other toolchains sometimes (especially on the SQL side of things).