Groovy

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Text document with red question mark.svg
Este artigo ou secção contém uma lista de fontes ou uma única fonte no fim do texto, mas esta(s) não são citadas no corpo do artigo, o que compromete a confiabilidade das informações. (desde maio de 2011)
Por favor, melhore este artigo introduzindo notas de rodapé citando as fontes, inserindo-as no corpo do texto quando necessário.


Groovy
Paradigma orientada a objetos, funcional, imperativa,script
Surgido em 2003
Última versão 2.0.0 (26 de junho de 2012)
Criado por Guillaume Laforge
Estilo de tipagem: estática, dinâmica, forte, Duck
Influenciada por Java, Python, Ruby, Perl, Smalltalk, Objective-C
Licença: Apache License v2.0
Página oficial groovy.codehaus.org/

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:

Índice

[editar] Exemplos

 class Foo {
   def doSomething() {
     def data = ["name": "James", "location": "London"]
     for (e in data) {
       println("entry ${e.key} is ${e.value}")
     }
   }
 
   def closureExample(collection) {
     collection.each { println("value ${it}") }
   }
 
   static void main(args) {
     def values = [1, 2, 3, "abc"]
     def foo = new Foo()
     foo.closureExample(values)
     foo.doSomething()
   }
 }

[editar] Comparação entre código Java e equivalente código Groovy

[editar] Java

 class Filter {
     public static void main(String[] args) {
         List<String> list = Arrays.asList("Alfinete", "Sabrina", "Zina");
         List<String> shorts = new ArrayList<String>();
         for (String item : list) {
             if (item.length() <= 4) { shorts.add(item); }
         }
         for (String item : shorts) { System.out.println(item); }
     }
 }

[editar] Groovy

 list = ["Alfinete", "Sabrina", "Zina"]
 shorts = list.findAll { it.size() <= 4 }
 shorts.each { println it }

[editar] Referências

[editar] Veja também

  • Grails - framework para desenvolvimento de aplicações web inspirado no Ruby on Rails
  • Groovlets - para implementar Servlets de modo fácil utilizando scripts Groovy
  • Boo - uma linguagem com objetivos similares mas voltada para o Common Language Runtime
  • Jython - uma implementação da linguagem Python que gera bytecode para máquinas Java

[editar] Ligações externas