Groovy, para que?

Alguem já esta usando o Groovy? Para que ele serve? Em que contexto, tipo de aplicação, posso usar ele? Que tipo de geração de código ele faz e como é feita essa geração?

Valeu.

Groovy é uma linguagem de programação orientada a objetos desenvolvida para a plataforma Java como alternativa à linguagem de programação Java. Groovy possui características de Python, Ruby e Smalltalk.

Groovy utiliza uma sintaxe similar à de Java, é compilada dinamicamente para bytecode Java, e integra-se transparentemente com outros códigos e bibliotecas Java.

Groovy está atualmente em processo de padronização através do Java Community Process ( JSR 241 ).

Groovy possui algumas características não presentes no Java padrão:

* Tipagem estática e tipagem dinâmica
* Sintaxe nativa para listas, arrays associativos, vetores, e expressões regulares
* Fechamentos
* Sobrecarga de operadores

mais referencias:
http://groovy.codehaus.org/

e por favor neh: GOOGLE!!!
http://www.google.com.br/search?hl=pt-BR&q=groovy&btnG=Pesquisa+Google&meta=

Não conheço o dono deste blog, mas costumo ler este, pois sempre tem exemplos de onde ele aplicou o Groovy no dia-a-dia. Vale a pena ler.

ASOBrasil

Algumas coisas interessantes do Groovy:

  1. Você pode deixar o código de geração de relatórios do seu sistema em scripts Groovy, que seriam distribuídos de maneira não compilada. É muito fácil compilar e rodar um script de dentro do java. Como Groovy é uma linguagem fácil, um cliente mais espertinho pode alterar o layout do relatório sem te importunar para isso. Essa dica vale para qualquer coisa que você queira deixar personalizável, como módulos de importação de dados.

  2. Nossa aplicação aqui fornece um framework que simula telefones. Nossos usuários usam groovy para fazer scripts dizendo como esses telefones trabalham. Nossa aplicação faz o scheduling desses scripts também, permitindo ao usuário roda-lo serialmente ou em paralelo, só configurando o ambiente.

  3. Você pode usar o groovy em locais onde integração de vários e diferentes componentes é necessária. O Groovy tem suporte a COM e COM+, tem métodos fáceis para escrita/leitura de arquivos, e ainda pode usar facilmente a API do java;

  4. Se você programar um jogo de RPG, o Groovy é a linguagem ideal para escrever a história do jogo. Fica fácil de modificar, e fácil de trabalhar. E você não precisará recompilar o jogo sempre que tiver de alterar a história do jogo. Você pode até mesmo fornecer um módulo para os mestres de jogo criarem suas próprias histórias;

  5. Você pode usar Groovy para fazer JUnit facilmente.

Lembrando que:

  • É fácil programar em Groovy. Usuários finais podem aprender facilmente.
  • Groovy também suporta closures;
  • Você pode usar reflection em objetos criados em Groovy.

E onde entra o Grails em relação ao Groovy?

Grails (Groovy on Rails) é o Groovy para Web…

Eu também não vi ainda utilidade no meu dia a dia para uma linguagem de script, mas com certeza ainda irei usar…

Olá

Vejam http://www.infoq.com/articles/groovy-action

O grande defeito de um aplicativo desenvolvido com Ruby on Rails é o desempenho. Porém, de acordo com alguns testes comparativos que vi por aí, um aplicativo feito usando Grails e groovy, fica mais lento ainda do que com RoR.

Enquanto isto não melhorar, será difícil o Grails competir com o Rails que já tem muito mais gente usando.

[]s
Luca

Lucca, devido a q esse problema de desempenho todo?

Luca, que tipo de problema de desempenho teria o Grails?

Olá

[quote=fscheidt]Luca, que tipo de problema de desempenho teria o Grails?

[/quote]

Nem sei mais onde li. O cara fez o mesmo site com Rails e com Grails. Depois mediu os tempos de resposta e os do site com Grails deu pior. Nem me pergunte porque ou se o cara era mais eficiente com Ruby ou com Groovy.

Só fiz questão de alertar porque estas facilidades do tipo Rails e Grails são para desenvolvimento rápido de sites que não precisam ser muito rápidos.

[]s
Luca

Literatura sobre o assunto:

http://reallyusefulebooks.com/update/category/groovy/

Consultando o oráculo, achei uma referência que mostra o grails sendo mais rápido.

Olá

Legal seu link. Como eu ainda não uso, é sempre bom saber várias opiniões.

Veja também:
http://jroller.com/page/bayesianconspiracy

[]s
Luca