I am excited for the new functional features coming in C# 7, but to be honest, these days it would not be my first choice of language when starting a new project. That choice falls to Scala due to its versatility:
- Blending of OO and FP.
- Works in backend, frontend (ScalaJS), or compile to native.
- Multi-discipline applications, e.g. web apps, data science, scientific computing, etc.
One of the biggest benefit as well, is that it leverages the JVM ecosystem. Big, mature community and choice is abundant. This is actually one of the things that really struck me when first working in it (JVM). It seems like you always have at least three choice for anything, that to most extent works well with each other:
- Alternative languages: Scala, Kotlin, Clojure, etc.
- Build system: Maven, Gradle, SBT, etc.
- GC: HotSpot, Zulu / Zing, Shenandoah, etc.