Maratona4Java2005: Alem do Java™: Novos Horizontes para o Desenvolvedor

From Fragmental Bliki

Maratona4Java2005

Introdução

Palestra polêmica sobre o futuro da plataforma Java, com ênfase em novas linguagens para a JVM. Apresentada no Maratona4Java de Brasília. Slides em PDF disponíveis







Comentários Comentados

AOP==Gambiarra?

Boa tarde Phillip.

Desculpe o comentário, mas lendo a apresentação que disponibilizaste sobre o título: "Alem do Java™: Novos horizontes para o  
desenvolvedor" verifiquei que você mencionou que AOP seria uma gambiarra.

Por não ter assistido a tua apresentação, não posso tirar conclusões ou expor a minha colocação. Mas lembro que AOP não 
possui qualquer vinculação direta com linguagens ou tecnologia. O próprio Bruce reconhecesse isto no seu livro: Beyond 
Java™.

Alessandro Leite

Oi, Alessandro,

Esses slides sem apresentação ficam confusos mesmo, mas antes de mais nada, apesar do título, eu concordo em parte com o Bruce Tate, mas não no todo, de qualquer modo Bruce em seu livro usa AOP de uma maneira parecida como a apresentada na palestra.

AOP em si é excelente, está ajudando muito em diversos aspectos da Programação e projeto Orientado a Objetos, mas muitas e muitas vezes têm-se utilizado AOP em java para simplesmente vencer dificuldades da falta de dinamismo da linguagem. Mixins são um exemplo disso.

A lsita de gambiarras inclui também XML. XML não é algo ruim, mas o uso que se têm feito dela é extremamente inapropriado.

Na minha visão de Além do java existe lugar para AOP e XML, mas não exatamente como usamos hoje. Esse é o ponto ;)


Não somente a AOP, mas também a linguagem Java™. Muitos dos problemas relacionados ao aumento da complexidade do  
desenvolvimento de software utilizando a plataforma Java™, tem relação direta com o desenvolvedor, que utiliza os seus 
conhecimentos, às vezes não muito, para inserir códigos não muito compreensíveis, pois se criou uma cultura de que código de 
difícil compreensão é sinônimo de conhecimento. Por isso gosto da frase do Martin Fowler, "É fácil escrever um código que um 
compilador entenda. Difícil é escrever código que um humano entenda". Tenho constatado isto, observando aplicações que fazem 
uso abusivo de XML, onde até mesmo um arquivo texto puro seria o ideal, utilização desnecessária dos padrões de software, o 
próprio Bruce cita essa característica no seu livro, no ponto onde relata a proliferação de frameworks voltados à 
implementação do design pattern MVC no contexto da WEB. Com AOP não tenho observado esse comportamento, haja vista, que a 
sua adoção ainda não está tão avançada quanto na parte acadêmica.
  A abordagem de separação de interesses Mixins não é AOP.  
[]'s
Alessandro Leite

Oi,

O problema é que a presença de um tipo único de ferramenta (i.e. Java) para toda e qualquer função faz com que mesmo programadores experientes ou que sabem o que estão fazendo tenham que recorrer a meios não ótimos para contornar dificuldades que poderiam ser melhor endereçadas com outras ferramentas.

Produtos bons como Spring, Hibernate e EJB3 sofrem por isso.

na verdade o ponto do mixin é exatamente um exemplo. Ruby não precisa de AOP para mixins, com Java você não tem muita escolha.

[]s

Ferramentas pessoais