ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я программист Clojure. Я явно предвзятый.
Я думаю, что из всех этих языков Clojure и Groovy являются наиболее компактными. Scala является языком фигурных скобок, таким как Java, поэтому он обычно занимает немного больше места. Тем не менее, он далеко не так многословен, как Java, и я думаю, что Scala довольно крута. Я знаю, что у Scala есть свинг-обертка. Я никогда не занимался разработкой GUI в Scala, поэтому я не могу точно сказать, каково это.
Я сделал несколько свинг-разработок в Clojure, и это на самом деле не занимает много времени. Использование Swing Direct из Clojure может быть утомительным, пока вы не напишите себе некоторые абстракции, но в целом Swing-приложения меньше, чем то же самое в Java, потому что код Clojure имеет тенденцию быть короче и более кратким, чем код Java.
У Clojure также есть своего рода обертки, чтобы сделать разработку свинга более Clojury. Одним из которых является clj-swing . Я видел некоторый код, написанный с его использованием, и он довольно крутой и определенно более краткий, чем прямое взаимодействие.
Теперь я не знаю Groovy. Я действительно ничего не знаю об этом, но я знаю, что он более компактен, чем Java, поэтому я думаю, что разработка GUI также будет довольно компактной.
Я думаю, что Clojure - безопасная ставка. С clj-swing или даже с непосредственным использованием Java GUI инструментарий будет очень компактным по сравнению с Java, и возможность создавать абстракции поверх некомпактных материалов с помощью макросов, безусловно, огромный плюс. Clojure имеет мой голос.