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 ou mais fontes no fim do texto, mas nenhuma é citada 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.2.1 (26 de novembro de 2013)
Criado por Guillaume Laforge
Estilo de tipagem: estática, dinâmica, forte
Influenciada por Java, Python, Ruby, Perl, Smalltalk, Objective-C
Licença: Apache License v2.0
Página oficial groovy.codehaus.org/
Plataforma Plataforma Java

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:

Exemplos[editar | editar código-fonte]

 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()
   }
 }

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

Java[editar | editar código-fonte]

 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);
     }
 }

Groovy[editar | editar código-fonte]

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

Referências[editar | editar código-fonte]

Veja também[editar | editar código-fonte]

  • 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

Ligações externas[editar | editar código-fonte]