Segue abaixo uma crítica ao Java feita por uma colega meu de faculdade. Detalhe: Pra ele a única linguagem que presta é C/C++.
Enterprise JavaBean - uma profissão de fé
É visível a insatisfação que se generalizou neste semestre quanto ao “Java way” de se programar, graças à tomada do cenário por um elemento bastante digno de nota: o nosso agora conhecido e trabalhado à exaustão Enterprise JavaBean.
A idéia por trás do Enterprise JavaBean é bastante louvável. Ele se propõe a facilitar a vida do programador, oferecendo todo o suporte a uma infinidade de serviços, aliás, a maioria dos quais você não sabe pra quê serve, acabou de descobrir que existe e provavelmente nunca vai usar. E, de fato, a redução de código-fonte escrito é notável. É possível escrever uma aplicação com meia dúzia de métodos de quatro linhas cada, é claro, desde que você antes instale a máquina virtual Java, configure as variáveis de ambiente, instale um container de Enterprise JavaBeans tipo JBoss, configure-o, use uma ferramenta tipo Lomboz para gerar o esqueleto das interfaces e classes, use o XDoclet para documentá-las, faça um deployment da sua aplicação, empacote-a com alguma ferramenta, desempacote-a novamente para instalá-la no container e configure a aplicação para rodar de forma que as classes se comuniquem… Há quem acredite que isso veio para facilitar sua vida.
Pois muito bem. Após percorrida a via-crucis (ou seria via-JCrucis?) chega finalmente a hora de ver seu Enterprise JavaBean rodar! Bem, “ver” é um termo um tanto quanto forçoso, já que ninguém jamais conseguiu ver algo dessa natureza. Há lendas de que os EJBs realmente funcionam (talvez em Hoggwarts ou na Terra-Média?), mas essas lendas são de origem bastante duvidosa, sempre se sabe de alguém que “tem um amigo que uma vez viu numa revistinha”, nada nunca mais próximo do que um contato imediato de quinto grau. É daí que vem a nossa premissa, a de que para continuar a tentar usar um EJB, é preciso fé. Muita fé. Você precisa acreditar em algo que nunca viu, algo sem quaisquer provas concretas ou materiais que possam aparecer diante de seus olhos. Enfim, é preciso ter fé.
E foi vislumbrando um framework mais amigável e, principalmente, mais facilmente compreensível, que meu colega Renato e eu lançamos as bases de um futuro conjunto de interfaces que, se implementadas, iriam determinar a derrocada derradeira da confusa avalanche de interfaces em voga atualmente. Este framework seria composto simplesmente de duas interfaces: a interface Enterprise JPenis e a interface Enterprise JXoxota, ou simplesmente JXota (lê-se: jota-ksota). Dotadas de um encaixe perfeito, essas duas interfaces iriam sempre trabalhar em conjunto, tendo as seguintes assinaturas:
(private | public) interface JPenis extends QuandoAlisa { }
(private | public) interface JXota extends QuandoEnfia { }
Note que ambas são private na maior parte do tempo, se tornando public na exata hora de serem usadas.
Entretanto, elas não passam de um sonho distante e enevoado. Por hora, só podemos contar com as facilidades das nossas cerca de quatro bilhões de interfaces e classes diferentes. Cabe aqui um questionamento: por que continuar tendo que instalar oitenta programas e tendo que comprar dois pentes de memória de 512, só pra rodar um maldito programa numa tela preta na qual vai se ler “Hello world” e que, se não bastasse isso, nunca funciona? Porque facilita a nossa vida! E os Enterprise JavaBeans funcionam, sim! Tu é que não tens fé suficiente, ó herege!
Rodrigo César Dias,
Julho de 2004.
)
