apd2004пробовал, рекомендации тут например на нём написаны. язык хорош, очень. как кто-то в ЖЖ написал: "
наконец-то появился язык, на котором не противно писать".
живёт на JVM (хотя вроде учится и дот-нетовский байт-код генерить), поэтом сравнивать надо с Java и другими JVM-языками. от большинства других отличается статическими типами и компиляцией. от самой явы - лаконичностью. начиная с мелочей - типа что точку с запятой в конце строк не надо писать, продолжая объявлениями классов, и заканчивая функциональными наворотами с map/filter/fold/reduce в одну строку, которые на Java пишутся в десять. в pattern matching если въехать - их просто нельзя не полюбить. типы в половине случаев явно объявлять не требуется, компилятор сам их определяет. в общем, вкусностей очень много.
масштабируемость имеет место, мелкие скрипты, которые обычно пишутся на перле, тоже писать вполне можно. язык расширяемый - можно свои управляющие конструкции добавлять. с поддержкой IDE не идеально, в смысле до явы конечно далеко, но в целом работается комфортно (Eclipse), смешанные проекты с java и scala вместе живут замечательно, хотя заметно что эклипсина на scala-файлах "задумывается". интеграция с java - идеальная, никаких лишних телодвижений не требуется. спокойно можно использовать и даже наследовать классы из другого языка.
Lift - веб-фреймворк на скале - спроектирован очень по уму, плюс все последние модные навороты поддерживает типа COMET.
из недостатков. во-первых, если важна производительность, то приходится смотреть что за код в результате получается, пока не привыкнешь что цикл for в критических участках кода лучше не использовать. в общем, вполне можно писать код, который будет не медленнее родного на Java, если надо, если не надо - и писать естественный для скалы код, функциональный, с immutable данными, получается где-то вдвое медленее.
ну и самый большой минус - что стандартные библиотеки там ещё пока сырые. такого количества ошибок я ещё нигде не ловил. в Actors - механизм многозадачности - несколько утечек памяти. коллекции - жутко тормозные, и даже простейшие операции типа сравнения списков (List) может вылететь по переполнению стэка. но это всё касается версии 2.7, в 2.8 всего этого вроде не будет - и actors, и collections там довольно радикально переписываются.
так что использовать в боевом проекте можно очень осторожно, будучи готовым к глюкам, но пощупать если есть интерес - стоит однозначно. будущее imho за ним.