Скала — язык:
1) Чисто объектный. Операции над «примитивами» и применение методов синонимичны.
2) Со строгой типизацией. Типы приводятся, декларации почти всегда можно опускать.
3) Вполне функциональный. Аргументы и результаты функций могут быть функциями без ограничения порядка. Библиотека классов неизменяемых сложных данных.
3) Вполне императивный. Есть присваивание, циклы (можно определить и экзотические), библиотека классов изменяемых сложных данных.
4) С возможностями построения сложных абстрактных типов, включая множественное наследование абстрактных классов и типажей.
5) С произвольной ленивостью/строгостью (жадностью) вычислений и возможностью работы с бесконечными потоками.
6) С разбором по шаблону всего сложного.
7) С плюшками: юникод в любом месте, XML как предопределенный конструктор.