время идет, мир меняется, а в месте с этим и потребности к продуктам, например сейчас сильно увеличилось количество фреймворков/инструментов требуемых для среднего разработчика, железо также сильно изменилось с тех времен когда разрабатывалась джава, стали массового распространены многоядерные системы, в обыденность вошли продукты которые работают на кластерах и тд. Scala - разработан чтоб упростить нарастающую сложность.
при этом Scala - это не better java, это не про ООП или ФП, это язык практикующий в первую очередь практичный/прагматичный подход, стремящийся упростить работу с фреймворками, многоядерными системами, кластерами, различными платформами (компилироваться в js, нативно компилироваться и работать без jvm, работа с видеокартами и тд).
И как любой прагматичный язык, он позволяют работать с ним таким образом, как кто-то уже привык работать, например работать как с Java.
один из примеров упрощения : типы в скала, автоматически выводятся, их не обязательно указывать, из-за чего легко можно эксперементировать с кодом и его рефакторить, все зависимости по типам будут автоматически выводится сами.
Например зная интерфейсы Scala коллекций ты автоматически знаешь интерфейсы подавляющей части существующих в экосистеме фреймворков (общие интерфейсы).
Также ты можешь код разработанный как однопоточный, перенести на многопоточную среду, а затем и на кластер, и тд.
Есть простые схемы для создания собственных элегантных домен специфичных языков (используя перегрузку операторов, неявные параметры, неявные функции, автоматическую конвертацию типов).