At 11:19 15/7/2001 -0300, Jorge Luiz Godoy Filho wrote:

>Ainda vejo Java como algo 'evil'. E extremamente problem�tico.

As pessoas v�em o que querem ver e n�o aquilo que tem que ser, j� dizia um 
grande reggaero :)

Bom, algumas mensagens na thread chamaram-me a aten��o e achei legal que 
certos pontos fossem esclarecidos:

1 - Java � a �nica linguagem total e completamente port�vel. Ponto. E nao 
estou falando aqui de engines de expressoes regulares e modelos de objeto, 
e sim de interfaces de conexao a banco de dados, m�todos distribu�dos e 
toolkits gr�ficos, i.e. coisas que as pessoas realmente necessitam em 
aplicacoes que precisam ser port�veis, que podem ser bem diferentes nas 
v�rias implementa��es de outras linguagens em v�rios sistemas, enquanto 
Java mant�m consist�ncia do Palm ao E10k. Sim, h� possibilidade de se fazer 
c�digo nao port�vel em Java abusando de JNI, usando conven��es de 
diret�rios mal-pensadas, mas isso pode ser feito em qualquer linguagem, e 
mesmo assim Java tem classes pr�-definidas para trabalhar com a maioria dos 
problemas que dependam de alguma forma de acep�oes sobre a plataforma de 
forma port�vel. Java � Write Once Run Anywhere. Se vc programa segundo a 
especificacao Java nao precisa ficar preso a uma JVM, mas pode rodar seu 
c�digo em qualquer JVM que siga a especifica��o para a qual vc programou.

2  - As m�quinas virtuais da Sun, IBM, Transvirtual, Borland, Microsoft, 
Intel e etc sao livres para uso pessoal E comercial sem custo algum.

3 - Dizer que Perl escala t�o bem quanto Java n�o � racional. Eu andei 
estudando, e ainda continuo estudando Perl por algum tempo e realmente � 
uma linguagem interessante que tem seus usos, mas ela _promove maus h�bitos 
de programa��o_. Tem operadores demais, detalhes demais, sintaxe confusa, 
compromete a legibilidade do c�digo e num projeto grande com v�rias pessoas 
torna-se imposs�vel de manter (falo aqui de projetos com bem mais do que 
716 linhas). Al�m de que aquela coisa que colocaram no Perl e disseram que 
� orienta��o a objeto s� pode ser piada. E de mau gosto. Em compensa��o, 
Java tem um modelo de OO que se n�o � perfeito chega muito perto, sintaxe 
concisa, operadores que fazem sentido, tipagem forte e aus�ncia de 
vari�veis do tipo $_, $%, $^ que s� servem para poluir o c�digo e 
dificultar a vida de terceiros q porventura venham a manter o c�digo. � 
exatamente por isso que n�s vemos projetos enormes como ambientes de 
desenvolvimento, RDBMS/OODBMSs, browsers, servidores de aplica��o, 
webservers e etc escritos em Java, enquanto o m�ximo de complexidade que eu 
vi num programa Perl � um cliente de e-mail.

4 - Granted, Java no cliente � bloatware. Mas o foco de Java n�o � mais 
isso, e sim no servidor. Quem j� deu uma lida na especifica��o de Servlets 
disponivel em http://java.sun.com/products/servlet/download.html, sabe que 
servlets Java sao interpretados uma �nica vez. Durante essa vez, eles 
passam por um JIT que compila o bytecode para a arquitetura nativa e 
armazena esse c�digo em mem�ria, tornando servlets Java t�o ou mais r�pidos 
que CGIs em C/C++, Perl e outras linguagens, mesmo usando de artif�cios 
como interpretadores embutidos em webservers. JSPs sao convertidos em 
Servlets em tempo de execucao, entao caem na mesma categoria. Al�m disso, 
Servlets Java e JSP, por separarem a l�gica do design de forma consistente 
e suportarem distribuicao de classes e metodos entre v�rios modulos que 
podem estar geograficamente dispersos, podem ser integrados em servidores 
de aplica��o de maneira nunca alcan�ada por um Perl da vida. Ex.: IBM 
Websphere, BEA Weblogic, Oracle AS, etc.

5 - A linguagem 'Java' � propriet�ria. As implementa��es nao precisam ser. 
Existem v�rias JVMs com c�digo fonte dispon�vel (Kaffe, e a da Blackdown me 
v�em � mente) tanto sob licen�as propriet�rias como GPL e coisas do tipo. E 
n�o, nenhuma das implementa��es de terceiros precisam ter c�digo da Sun, 
pois a m�quina da Sun � propriet�ria e nao pode ser redistribu�da sob outra 
licen�a que n�o a SCSL (o JDK da Sun acompanha fontes para os 
interessados). Isto �, eu posso desenvolver um Kaffe da vida 100% 
compat�vel com a �ltima especifica��o de Java e redistribu�-lo sob a GPL 
sem qualquer �nus. O que eu NAO posso � fazer propaganda da minha 
implementa��o dizendo q ela � 100% compat�vel com Java sem o consentimento 
da Sun. Entretanto, eu posso mant�-la 100% compat�vel ou mesmo adicionar 
extensoes � minha vontade e cham�-la de qualquer outra coisa, menos Java. 
Isso foi e est� sendo feito pela Microsoft, HP e outros e n�o � nenhuma 
novidade. O Alexandre Oliva fez algo parecido quando adicionou c�digo � 
reflection API do Kaffe e o chamou de Guaran�. As especifica��es da JVM, do 
compilador e da biblioteca de classes estao dispon�veis para download 
gratuito em http://www.javasoft.com para qualquer um que deseje implementar 
algo compat�vel ou semelhante sob qualquer licen�a.

6 - As JVMs dispon�veis para Linux tem baixa performance pelo mesmo motivo 
que tem baixa performance no Mac OS cl�ssico: Java usa de recursos 
presentes em sistemas operacionais modernos que infelizmente nao est�o bem 
implementados em todos os sistemas operacionais dispon�veis. As duas JVMs 
que seguem Java2 totalmente em ambiente Linux, a da IBM e a da Sun, est�o 
totalmente corretas de acordo com a especifica��o e rodam bem nos seus 
respectivos sistemas operacionais e de terceiros. O Linux apenas n�o ajuda. 
Nao � o caso de Java nao ser suficientemente bom rodando em Linux, e sim do 
Linux nao ser suficientemente bom para rodar Java =)

PS: desculpem ressuscitar essa thread, mas s� pude checar a lista hoje.


--
Thiago Pimentel
Preview Tecnologia

He who fights and run away lives to fight another day.
        -- Bob Marley


Assinantes em 20/07/2001: 2242
Mensagens recebidas desde 07/01/1999: 123948
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
            mailto:[EMAIL PROTECTED]

Responder a