Back-End

7 fev, 2017

Por que eu uso Groovy?

Publicidade

Estes dias me perguntaram o por que eu parei de escrever meus programas Java com a linguagem Java padrão e passei a utilizar a linguagem Groovy. São vários os motivos, e hoje quero falar de alguns.

Dont Repeat Yourself – DRY

DRY é uma abreviação para o inglês Don’t Repeat Yourself, “Não se Repita”. É o primeiro princípio do desenvolvimento de software mencionado por Andy Hunt e Dave Thomas no clássico livro O Programador Pragmático. O princípio basicamente declara que não se pode fazer coisas repetidas ou duplicadas ao longo do desenvolvimento de software. Isso ocasiona alta manutenção, aumenta a complexidade, reduz a qualidade da solução final e deixa a coisa extremamente chata e cansativa de fazer.

Linguagem Java é repleta de DRY

Se você ainda não reparou, a linguagem Java padrão está repleta de DRY, obrigando o desenvolver que a usa todos dias fazer a mesma coisa de sempre. E depois de 12 anos fazendo, eu simplesmente cansei.

Vamos a fatos?

Segue abaixo um simples POJO escrito na linguagem Java:

Segue abaixo o mesmo POJO escrito em Groovy:

Vejamos os Dry’s

  1. Na linguagem Java você é obrigado a digitar ponto e vírgula no final de cada instrução. No Groovy não. Ponto e vírgula é obrigatório somente se você for colocar mais de uma instrução por linha.
  2. Na linguagem Java você é obrigado a digitar private para declarar atributos privados. No Groovy não, pois todos os atributos de uma classe são por padrão private. Você já parou para pensar nisso? Regra básica de encapsulamento OOP diz que todo atributo de uma classe deve ser privado, ou seja, 90% dos casos, mas a linguagem Java usa como padrão default? Me perdoem a grosseria, mas é muito “idiota” isso…
  3. Na linguagem Java você é obrigado a digitar public para declarar a classe pública. No Groovy não, pois todas as classes são por padrão pública, sendo que á maioria dos casos. Me perdoem novamente, mas é idiota igual ao item 2.
  4. Na linguagem Java você é obrigado a digitar os get’s e set’s para expor os atributos. No Groovy não, pois eles serão automaticamente e dinamicamente gerados para você.
  5. Na linguagem Java você é obrigado a importar pacotes básicos para outras classes como Date e BigDecimal, sendo que o único import padrão é o java.lang. No Groovy não, pois, por padrão, o Groovy define vários pacotes bases com importação automática, sendo estes já importados implicitamente java.math. e java.util.

Qual a diferença?

Parando por aqui, e pontuando somente estes 5 recursos de muitos outros existente no Groovy, você já ficaria com o POJO em Java com 34 linhas e o em Groovy com 7 linhas. Ou seja, 485% a mais de código! Imaginando que faremos um sistema com 500 classes. Multiplica aí, amigo, e veja quanto DRY você vai perder seu precioso tempo digitando nesse projeto.

Se liberte

Vamos a verdade? O que eu vou falar pode doer em muita gente, mas é a mais pura verdade: a linguagem Java é verbosa e improdutiva. Todos que começam na plataforma Java têm que aprendê-la, mas depois de passar por essa fase inicial, você não é mais obrigado a usá-la. Se liberte! Seja feliz! Na JVM hoje nós temos a liberdade de usar centenas de linguagens de programação diferentes a gosto de cada “freguês”. Veja aula grátis sobre linguagens na JVM.

Observação

Estou te dizendo para trocar de linguagem de programação e não de plataforma! Você continua usando a plataforma Java e todas as mesmas opções de sempre: Spring, JPA, Hibernate, JSF, IReport etc. Só que ao invés de programar usando a “velhinha” linguagem Java padrão, você passa a usar Groovy. Mas já vou te avisando que é um caminho sem volta… Depois de que você aprender, vai ter raiva de não ter usado bem antes.