Я думаю, что ваши лучшие три варианта - это Groovy, Python и Scala. Все три позволяют писать код на высоком уровне (по сравнению с C / Java). Python имеет свои совершенно адекватные привязки к БД, а Groovy и Scala могут использовать те, которые созданы для Java.
Преимущества Python в том, что он уже широко используется, поэтому вокруг него есть множество инструментов, библиотек, опыта и т. Д. У него особенно чистый синтаксис, что делает работу с ним эстетически приятной. Недостатки в том, что он медленный (что не может быть проблемой для вас), нетипизированный (поэтому у вас есть ошибки времени выполнения вместо ошибок времени компиляции), и вы не можете переключаться между Jython и Python, так что вы Вы должны выбрать, хотите ли вы большое количество Python или огромное количество Java, минус множество хороших Python.
Преимущества Groovy в том, что вы его уже знаете, и он хорошо взаимодействует с библиотеками Java. Его недостатками также являются медлительность и отсутствие статической типизации. (Таким образом, в отличие от Python, выбор таков: вы больше цените чистый синтаксис и широкое распространение Python, или же вы цените обширный набор библиотек Java больше в языке, который хорошо работает в этой среде?)
Преимущества Scala заключаются в том, что он статически типизирован (то есть, если код проходит через компилятор, у него больше шансов на работу), быстр (так же быстр, как Java, если вы хотите работать достаточно усердно) и взаимодействует. хорошо с библиотеками Java. Недостатки в том, что вам нужно немного больше работать, чтобы заставить статическую типизацию работать (хотя и намного, намного меньше, чем в Java, и в то же время быть более безопасным), и что канонический стиль для Scala представляет собой гибридную объектно-функциональную смесь, которая чувствует себя более отличается от двух других (и, следовательно, требует большей подготовки для использования при полной эффективности ИМО). В отличие от Groovy, вопрос заключается в том, важнее ли знакомство и простота начала работы, чем скорость и правильность.
Лично я сейчас делаю почти всю свою работу в Scala, потому что моя работа требует скорости и потому, что компилятор улавливает те ошибки в кодировании, которые я обычно делаю (так что это единственный язык, который я использовал там, где меня нет) удивляюсь, когда большие блоки кода работают правильно, когда я получаю их для компиляции). Но у меня был хороший опыт работы с Python в других контекстах - взаимодействие с большими базами данных кажется хорошим вариантом использования.
(Я исключил бы, что Perl сложнее поддерживать без существенных преимуществ по сравнению, например, с Python, и я бы исключил, что Ruby недостаточно мощен, чем Python, чтобы гарантировать менее интуитивный синтаксис и более низкую скорость принятия / наличие инструмента.)