Desde ouvir as apresentações de Martin Odersky, o criador do Scala, é especialmente adequado para a construção de sistemas altamente escalonáveis, aproveitando as construções de programação funcional em conjunto com a orientação a objetos e a sintaxe flelxível. Também é útil para o desenvolvimento de pequenos sistemas e prototipagem rápida, porque requer menos linhas de código do que outras línguas e possui um modo interativo para obter feedback rápido. Uma estrutura notável do Scala é o Akka, que usa o modelo de ator da computação simultânea. Muitas das apresentações de Odersky estão no YouTube e há uma lista de ferramentas implementadas com o Scala em wiki.scala-lang.org.
Um ponto implícito é que as ferramentas e estruturas escritas no Scala possuem inerentemente integração com o Scala e geralmente uma API do Scala. Em seguida, outras APIs podem ser adicionadas para oferecer suporte a outras linguagens começando com Java, pois o Scala já está integrado e, de fato, depende criticamente do Java. Se uma ferramenta ou estrutura não estiver escrita no Scala, é improvável que ele ofereça suporte ao Scala. É por isso que, em resposta à sua pergunta, apontei para ferramentas e estruturas escritas em Scala e Spark é um exemplo. No entanto, atualmente a Scala possui uma participação menor no mercado, mas sua taxa de adoção está crescendo e a alta taxa de crescimento da Spark aumentará isso. O motivo pelo qual eu uso o Scala é porque a API do Spark para Scala é mais rica que as APIs Java e Python.
As principais razões pelas quais prefiro o Scala geralmente são porque são muito mais expressivas que o Java, porque permitem e facilitam o uso de funções como objetos e valores, mantendo a modularidade orientada a objetos, o que permite o desenvolvimento de programas complexos e corretos com muito menos código que o Java, que Eu preferia por causa do uso generalizado, clareza e excelente documentação.