Desde escuchar las presentaciones de Martin Odersky, el creador de Scala, es especialmente adecuado para construir sistemas altamente escalables al aprovechar las construcciones de programación funcional en conjunción con la orientación a objetos y la sintaxis flexible. También es útil para el desarrollo de sistemas pequeños y la creación rápida de prototipos porque requiere menos líneas de código que otros lenguajes y tiene un modo interactivo para una retroalimentación rápida. Un marco de Scala notable es Akka, que utiliza el modelo de actor de cómputo concurrente. Muchas de las presentaciones de Odersky están en YouTube y hay una lista de herramientas implementadas con Scala en wiki.scala-lang.org.
Un punto implícito es que las herramientas y los marcos escritos en Scala tienen inherentemente integración con Scala y generalmente una API de Scala. Luego, se pueden agregar otras API para admitir otros lenguajes que comienzan con Java, ya que Scala ya está integrado y, de hecho, depende de manera crítica de Java. Si una herramienta o marco no está escrito en Scala, es poco probable que ofrezca algún soporte para Scala. Por eso, en respuesta a su pregunta, he señalado hacia herramientas y marcos escritos en Scala y Spark es un ejemplo. Sin embargo, Scala actualmente tiene una participación menor en el mercado, pero su tasa de adopción está creciendo y la alta tasa de crecimiento de Spark mejorará eso. La razón por la que uso Scala es porque la API de Spark para Scala es más rica que las API de Java y Python.
Las razones principales por las que prefiero Scala en general es porque es mucho más expresivo que Java porque permite y facilita el uso de funciones como objetos y valores al tiempo que conserva la modularidad orientada a objetos, lo que permite el desarrollo de programas complejos y correctos con mucho menos código que Java que Lo había preferido por su uso generalizado, claridad y excelente documentación.