Como o twitter é curto, vamos pra uma coisa mais longa.
Primeiro, o conceito errado de que tem que parecer com Java. A linguagem em si foi desenvolvida pro programador Java preguiçoso, porque a melhor feature por muitos anos era parece com java! você pode escrever jave em groovy!, o que por si só deveria ser absurdo, mas muita gente aceitou isso como se fosse uma feature.
Segundo, tem os vários projetos clonados de outras linguagens/ambientes em vez de se criar alguma coisa nova, enquanto as comunidades Scala/Clojure procuraram desenvolver soluções que usassem as funcionalidades e cultura das suas linguagens na construção das novas ferramentas, a comunidade Groovy continuou tentando imitar a comunidade Ruby sem sucesso mas vendendo a idéia de que é o rails pra java, quando, obviamente, isso não é verdade.
O caso mais gritante disso é exatamente o Grails. A comunidade é minúscula, o ecossistema ao redor da ferramenta também, caso completamente diferente do Rails, onde se tem plugin/gem pra tudo o que você imaginar no desenvolvimento de aplicações web e você pode facilmente integrar o seu legado em Java usando JRuby, matando completamente qualquer argumento de que eu preciso manter compatibilidade....
No fim, o único motivo que existe pra escolher Groovy e Grails pra qualquer coisa é preguiça, já que a ferramenta não é melhor do que o original em nada.
Sr Maurício. Bom dia :).
Preciso aprender muito mais dessa tecnologia, mas baseado no pouco que sei e no projeto que trabalho, darei algumas respostas.
Quanto ao que o sr disse:
"A linguagem em si foi desenvolvida pro programador Java preguiçoso, porque a melhor feature por muitos anos era parece com java! você pode escrever jave em groovy!, o que por si só deveria ser absurdo, mas muita gente aceitou isso como se fosse uma feature."
Concordo que muitos programadores preguiçosos usam grails e o usam por preguiça. Comandos como "generate-all"
me incomodam profundamente, pois viram argumentos para muitos (não todos) desconhecerem como são feitas as funcionalidades do sistema (mesmo que seja um simples CRUD) , já que é mais rápido e o que vale é "entregar para o cliente em menos tempo" ¬¬' . O que não vale é dizer que somente programadores ruins utilizam grails/groovy.
Conheço programadores que estão tentando contribuir com o grails, portanto sua generalização de que é "programador Java preguiçoso" não é correta.
Não concordo com o @juanplopes que Java precise ser substituída, mas acredito que quanto mais linguagens puderem aproveitar da plataforma Java, que ninguém discorda que é muito boa, melhor será para desenvolvermos soluções, pois teremos um maior leque de ferramentas para utilizarmos e sem termos problemas para integrar tudo. Linguagens, compiladores e afins não são para ser defendido com ferro e fogo e usadas em todas as situações. Elas são formas de resolvermos problemas quando elas tem características necessárias para atender justamente às situações.
No projeto que trabalho, tínhamos código completamente pojo - pois o antigo gestor do projeto não queria acoplamentos com nenhuma tecnologia que corresse o risco de ser descontinuada e de alguma forma, arranhasse o que foi feito/estava sendo desenvolvido - porém o custo para manter o sistema daquela forma era gigantesco e para o rumo para qual foi dado para o futuro do sistema, tinha ficado inviável.
A solução dada foi a migração de tudo para grails. Obviamente, existem outras formas de se mudar o cenário dito acima, mas o que ocorreu - NESTE CASO - foi uma integração perfeita com o código legado, a curva de aprendizado da equipe inteira foi extremamente pequena e já conseguimos resultados realmente expressivos.
Admiro muito a comunidade de scala e clojure - a importância delas é inegável e as duas linguagens - pelo pouco que sei - são realmente dignas e notáveis - não discordo com você em nada do que disse sobre elas.
Não defendo a utilização de nenhuma linguagem em particular, apesar de ter as minhas favoritas. O que deve nortear a tecnologia é o ambiente em que ela será empregada. Neste caso, grails fornece de forma fácil, solução para problemas simples. Creio fortemente que ele não foi proposto para revolucionar nada e sim está "plagiando" (ao meu ver) soluções que deram certo em outras tecnologias, para tentar melhor atender aos seus utilizadores. Creio que muitas linguagens e frameworks conhecidos também o fazem.
Obrigada pelos argumentos :D