Я не могу рассказать вам, почему существуют другие языки, но я могу рассказать вам, как я попал в Groovy. Для меня два момента, где важно тогда:
* Java отстой, если вы знаете некоторые языки программирования. Он обращается с вами, как с маленьким ребенком, а компилятор - это ваша мать, которая постоянно говорит вам, что делать, но терпит неудачу, когда дело доходит до более сложных областей.
* Мне нужен язык сценариев. Тогда Jython и JRuby выглядели мертвыми, Beanshell слишком похож на Java. А поскольку я в основном программировал Java, тогда Groovy был для меня почти естественным выбором, поскольку он позволяет повторно использовать мой старый код, не беспокоясь о преобразованиях.
На вопрос о вариантах использования ответить довольно сложно, так как моя личная история - это одно из моих предпочтений. Возможность писать больше кода с меньшим количеством строк - это не совсем вариант использования, но создание прототипов связано со мной и вариантами использования. В Groovy вы обычно можете быстрее написать приложение и доставить свой прототип. Если клиент настаивает на этом, вы обычно можете легко перенести существующий код на Java снова. Приятно то, что вы можете делать это отдельно для каждого класса, поскольку Java и Groovy хорошо взаимодействуют.