Пытаюсь выбрать между Clojure и Scala для дальнейшего изучения. Со Scala всё понятно - Java на стеоридах, засунули в язык всё что только можно, но ничего особо интересного там вроде нет. Вот Clojure гораздо интереснее, Software Transaction Memory, их модели синхронизации для меня были новинкой, нигде ещё подобного не видел.
Но нужно ли оно? Я так понимаю, для абстрактной 1000-процессорной машины Clojure будет удобна, т.к. удобство написания кода и минимизация проблем с синхронизацией перевесят потери производительности, неизбежные при всей этой красоте. Но для стандартного 4-процессорного компьютера, я так понимаю, это всё огромный оверкил, и аккуратно написанный код на Java (не говоря уже про C) скорее всего обгонит на одном процессоре 4-х процессорную Clojure (хотя не мерял, это чисто интуитивное ощущение).
В общем вопрос, есть ли у Clojure другие практические плюсы кроме того, что он есть лисп? Потому что все эти штуки с многопоточностью не выглядят востребованными здесь и сейчас (вполне возможно лет через 10 всё поменяется, конечно).