Groovy
Origem: Wikipédia, a enciclopédia livre.
| 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:
- Tipagem estática e tipagem dinâmica
- Sintaxe nativa para listas, arrays associativos, vetores, e expressões regulares
- Clausuras
- Sobrecarga de operadores
Í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
- Dierk Koenig, Guillaume Laforge e Andrew Glover. Groovy in Action . Manning, 2006. ISBN 1-932394-84-2. (em inglês)
- Kenneth Barclay e John Savage. Groovy Programming: An Introduction for Java Developers. ISBN 0-123725-07-0 (em inglês)
[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
- (em português) Wiki
- (em inglês) Página oficial
- (em português) Comunidade brasileira