Por que eu devo ler este artigo:Em novembro de 2013 foi lançada a versão 2.2 da linguagem de programação Groovy, que veio com pequenas melhorias com o objetivo de aumentar a produtividade do desenvolvedor e mais uma vez melhorar o desempenho da linguagem. Neste artigo veremos as principais novidades deste último release e de que forma você poderá aplicá-las em seus projetos.

Dentre as linguagens voltadas para a JVM, Groovy ainda é a mais popular. Esta popularidade se justifica por ela apresentar uma sintaxe muito próxima à do Java, porém removendo grande parte da sua verbosidade, e também por ser uma linguagem dinâmica. A partir da versão 2.0 muitas melhorias vêm sendo incluídas no projeto com o objetivo de aprimorar seu desempenho e aumentar a produtividade do desenvolvedor.

Groovy é uma das linguagens mais populares voltadas para a JVM. A primeira versão do projeto, lançada em 2003, conquistou diversos programadores Java ao apresentar uma sintaxe familiar à que estavam acostumados, ao mesmo tempo em que removia a verbosidade de diversas tarefas comuns ao seu dia a dia. Groovy fazia mais do que simplesmente reduzir a burocracia.

Por ser dinâmica, acabou propiciando a criação de um dos frameworks mais populares para desenvolvimento web, o Grails, que se tornou um dos principais impulsionadores da popularidade da linguagem.

Um fator que limitava sua introdução em diversos projetos era o seu desempenho, que realmente era bastante inferior ao do Java devido à natureza dinâmica da linguagem. Esta realidade começou a mudar rapidamente com o lançamento do release 1.8 e, a partir de julho de 2012, com o lançamento da versão 2.0, que trouxe a checagem estática de tipos, um recurso opcional que melhorou bastante a situação.

Até este momento era comum o Groovy ser dezenas de vezes mais lento que o Java. Hoje, felizmente, o cenário é bem diferente, com a linguagem estando em um patamar de performance bem próximo ao do Java. Para comprar esta melhoria, diversos benchmarks foram feitos. Como exemplo, confira o que se encontra na seção Links.

A versão 2.0 também trouxe uma série de melhorias para a linguagem no que diz respeito à produtividade dos desenvolvedores. Algumas delas, inclusive, inspiradas no Java 7, como instruções do tipo multi catch, melhorias na integração com o Java, uso da instrução invokedynamic, e diversas outras funcionalidades.

A tendência na melhoria da produtividade se confirmou na versão 2.1 e, finalmente, na versão que trata este artigo, a 2.2, que, apesar de ser um release com poucas novas funcionalidades, traz algumas que tornarão ainda mais simples a vida do desenvolvedor.

Com base nisso, neste artigo veremos alguns dos novos recursos presentes na versão 2.2, lançada em novembro de 2013 e que já possui seu primeiro bug fix, a versão 2.2.1, lançada duas semanas após o lançamento do release oficial.

Coerção implícita de closures

Uma das novidades mais comentadas e previstas para o Java 8 é a inclusão das expressões lambda, recurso bastante similar às closures, com as quais estamos acostumados a trabalhar no Groovy. Na implementação deste recurso em Java, há um aspecto que chamou a atenção da equipe de desenvolvimento do Groovy: o modo como as “closures do Java” podem ser convertidas de forma transparente em interfaces ou classes abstratas que possuem apenas um método abstrato. Soa estranho este recurso, não é mesmo? Então vamos clarificá-lo através da apresentação de um conceito e também alguns exemplos, mostrando como esta característica do Java ajudou os pro ...

Quer ler esse conteúdo completo? Tenha acesso completo