Java não é lento

Propaganda
Coluna do Alexandre
COLUNA
Java não é lento
O novo colunista da Linux Magazine explica com total propriedade
por que a ideia de que Java é uma linguagem lenta não procede.
T
enho programado por muito tempo usando linguagens como C e Assembly, principalmente em
segmentos nos quais tais escolhas são fundamentais, como o kernel e drivers de dispositivos, e tenho,
de algum tempo para cá, me aprofundado muito em
Java. Algo que não acredito ser tão simples é julgar uma
tecnologia sem conhecê-la bem, o que, infelizmente,
tenho percebido em alguns grupos de programadores.
Não é incomum ouvir a afirmação de que Java é
lento. Tenha certeza: não, não é. As variáveis de desenvolvimento ignoradas pelas pessoas que fazem essa
afirmação são as mais diversas, sendo factível questionar
sempre os mesmos pontos para o programador:
➧V
ocê usa a versão mais recente da JVM?
➧V
ocê faz uso da programação multithread de maneira eficiente?
➧ Você está usando os frameworks (EJB, JSF, Struts, Hibernate) apropriadamente, evitando suas armadilhas?
➧V
ocê conhece os detalhes das evoluções do Java 6,
como melhorias no gerenciamento de locks, evolução na alocação de registradores e o mecanismo
de Escape Analysis?
➧V
ocê já tentou fazer tuning do sistema operacional
anteriormente ao processo de ajustar a aplicação
(OpenSolaris, por exemplo)?
➧V
ocê já experimentou fazer ajustes de parâmetros
no stack, heap e no Garbage Collector?
➧V
ocê está levando em conta o tipo de arquitetura
de processador em que o código está sendo executado? Programar em processadores padrão (com
somente um núcleo) é uma coisa, programar em
processadores multicore (ou ainda multithread) é
outra bem diferente.
➧Q
ual servidor de aplicação você está usando para
fornecer e facilitar a infraestrutura de suas aplicações? Não adianta preocupar-se com a aplicação
se o servidor não ajuda.
18
É fácil verificar que a geração anterior de linguagens,
como Visual Basic e Delphi, acostumaram muito mal
os aprendizes, pois, em virtude do uso de interfaces IDE
muito bem concebidas, muitos esqueceram de pensar na
melhor forma de programar e resolver problemas, levando
em conta a manutenção, a reusabilidade futura de trechos de código e também a escalabilidade da aplicação.
Toda linguagem é submetida a melhorias, o que também aconteceu (e ainda ocorre) com o Java. Nas primeiras
versões da JVM, realmente faltavam recursos fundamentais como o JIT, e isso fazia com que a JVM apresentasse
péssima performance. Contudo, a Sun resolveu todos estes
inconvenientes e tem se esforçado para melhorar todos os
pontos de performance a cada nova versão do Java.
Quando ainda me deparo com questionamentos
sobre produtividade e adequação ao mercado, acredito nem precisar comentar sobre a difusão do Java no
mercado, sendo que os maiores usos dessa linguagem
encontram-se no lado servidor (imbatível) e em dispositivos portáteis como celulares, PDAs etc. Para se
ter uma pequena ideia de quanto a linguagem Java é
importante (e confiável), ela está presente em uma
das três camadas principais utilizadas para construir o
middleware Ginga (em específico na camada Ginga-J),
usado no sistema de televisão digital brasileiro.
O Java é uma escolha espetacular e completa, talvez
a melhor, entretanto serão os desafios do seu dia a dia
que guiarão suas decisões, pois o fato é que a melhor
linguagem é aquela que atende sua empresa da melhor
maneira possível em determinado momento, e realmente existem excelentes opções, mas lembre-se: o mundo
é dos lobos, não das ovelhas. n
Alexandre Borges é Especialista Sênior em Solaris, OpenSolaris e Linux.
Trabalha com desenvolvimento, segurança, administração e performance
desses sistemas operacionais, atuando como instrutor e consultor. É pesquisador de novas tecnologias e assuntos relacionados ao kernel.
http://www.linuxmagazine.com.br
Download