putz! o rumo da discursão mudou totalmente
Nao sei se eu gosto dessa ideia. Achar que existem 2 “niveis” de programadores, e achar que pra isso devem existir 2 “niveis” de complexidade de codigo eh subentender uma porrada de coisas que na verdade nao deixa de ser uma falha consideravel na plataforma/ferramenta com que vc esta trabalhando.
Ja ouviu aquele lance de ‘design patterns so foram catalogados pq a linguagem nao tinha uma feature que fazia isso pra vc’? Eu acho que tambem eh por ai. Ninguem fala de AOP em Ruby, pq todos os mecanismos de metaprogramacao ja tao embutidos na linguagem e vc nao precisa fazer esse samba do crioulo cheirado que o Java requer (e, antes que alguem venha falar alguma coisa sobre Ruby, o mesmo eh valido pra JavaScript e dezenas, talvez centenas de outras linguagens e plataformas). Ao inves de dividir o mundo entre os “aptos” e os “digitadores de luxo”, eu prefiro olhar bem pra ferramenta que eu tou usando e perguntar se o problema nao ta ali antes.
Sim… eu me questiono se AOP, JPA e até interfaces são ou não são gambiarras chiques…
:?
Acho que gambiarras chiques ou nao, sao maneiras diferentes e mais facilmente explicaveis do que algumas das loucuras que [insira seu sabor de LISP favorito aqui] permite ha decadas, mas que essencialmente resolvem o mesmo problema do mesmo jeito, so que com mais/menos cerimonia e certamente menos DIY.
IMHO, adicionar metodos programaticamente nao deveria ser dificil ou considerado sujo - no fim das contas, tudo que vc ta fazendo eh um jmp pra outro lugar
BTW, deem uma olhada no lance dos Protocolos e Categorias do Objective C. Bem interessante se vcs quiserem ver um outro jeito de implementar interfaces numa linguagem OO (e, de quebra, baseada em C).
[quote=cv]
IMHO, adicionar metodos programaticamente nao deveria ser dificil ou considerado sujo - no fim das contas, tudo que vc ta fazendo eh um jmp pra outro lugar :)[/quote]
Ou melhor… vc está dizendo que o objeto responde em runtime por alguma outra mensagem…
Uma coisa interessante que eu acabei de ver é um cara chamado XJ - com ele você pode mexer na sintaxe do Java à vontade. Não fiquem mais com inveja do C# e o LINQ!