S�rgio,
Eu gostaria de fazer uma pequena corre��o no seu email.
Java n�o possui passagem por refer�ncia. Somente por valor. Existe uma forma de "simular" passagem de par�metros por refer�ncia, utilizando os objetos ou tipos primitivos armazenados em um array, por exemplo. Mas n�o existe passagem por refer�ncia.
Antes que o algu�m d� pulinhos de alegria, eu pergunto: e qual � o problema? Algu�m por favor, apresente um artigo demonstrativo, baseado em testes de performance ou de algum requisito que mostre qual � o grandis�ssimo problema de Java utilizar passagem por valor, e n�o por refer�ncia? Mesmo que haja, isso significa que Java � ruim?
Abra�os,
Denard
-----Original Message-----
From: Sergio Oliveira Jr. [mailto:[EMAIL PROTECTED]]
Sent: ter�a-feira, 2 de outubro de 2001 22:56
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: [java-list] Re: Artigo Java x C#
Mauro,
N�o era a minha intens�o te tirar do s�rio. N�o vejo problema algum em me
engajar num papo com voc� face-to-face. S� estou conversando com voc� via
email por ser mais conveniente, afinal a tecnologia est� a� para facilitar a
nossa vida, certo?
Vou continuar falando racionalmente, apesar de n�o ver nenhum problema em te
encontrar para um papo mais descontra�do.
Alguns absurdos que vc escreveu:
- Java n�o possui todos os tipos derivados de ancestral comum:
Possui sim... Al�m de possuir tipos primitivos mais leves, que por sua vez
possuem suas classes equivalentes (Wrappers). Todas s�o derivadas da class
Object.
- Java n�o possui Structs:
Realmente n�o possui a palavra Structs, mas � rid�culo simular um C Struct
com uma class ou inner class.
- Java n�o pode passar parametros por referencia:
Todos os objetos Java s�o passados por referencia. Qualquer principiante em
Java precisa saber disso.
- Java n�o possui Propriedades:
J� ouviu falar em JavaBeans ??? Tb existe uma classe Properties que faz isso
facilmente.
- Java categoricamente n�o possui eventos nem delegate:
Toda a GUI do Java � orientada a eventos e a listeners.
Java n�o possui ponteiros para fun��es, mas possui interfaces que podem
facilmente e de uma forma mais elegante e poderosa realizar callbacks.
- Java n�o possui Atributos:
N�o sei o que vc quiz dizer com isso, mas Java possui uma API de Reflection
poderos�ssima.
- Java n�o possui Ponteiros:
Ainda bem! Referencia = Ponteiro com a excess�o que n�o podemos fazer
opera��es aritim�ticas com referencias.
Todo mundo sabe que os ponteiros sempre foram a maior fonte de bugs, falhas
de seguran�a, v�rus e dores de cabe�a para os programadores C.
- Java n�o possui Forech: loop para varrer arrays e cole��es
D� uma olhada na API Collections. Vc vai ficar impressionado com a
qualidade, efici�ncia e performance dessa API.
- Java n�o possui Campos readonly.
L�gico que possui. Basta utilizar final.
- Java n�o possui Documenta��o integrada em XML.
Javadoc serve exatamente para isso que vc sugere como vantagem do C#.
- Java n�o possui Controle sobre "estouro de faixa" num�rica
L�gico que possui. Pelo amor de Deus...
- Java n�o possui Diretivas de compila��o condicional (#ifdef etc)
N�o precisa pois utilizando o final boolean DEBUG = false; o compilador
automaticamente otimiza o c�digo compilado retirando esse c�digo morto.
- Java n�o possui Padroniza��o por algum organismo internacional
??? J� ouviu falar em Enterprise JavaBeans, Servlet, JSP, etc. Diversas
empresas adotaram essas especifica��es, independentemente de imposi��es da
Sun. Apenas a M�quina Virtual da microsoft n�o era compat�vel com todas as
demais, da� a derrota da Microsoft na justi�a.
- Java n�o Chama APIs do Windows e DLLs
L�gico que chama via JNI.
Como voce percebe pelos meus coment�rios acima. Vc definitivamente n�o � a
pessoa certa para fazer essa compara��o entre C# e Java. A n�o ser que vc
seja um homem de marketing e n�o da �rea de TI.
------------------------------
Sergio Oliveira Jr.
Sun Certified Java Programmer
Desenvolvedor e Consultor Java
Empresa SmartJava
------------------------------
>From: "Mauro Sant'Anna" <[EMAIL PROTECTED]>
>To: [EMAIL PROTECTED]
>Subject: Re: Artigo Java x C#
>Date: Wed, 03 Oct 2001 00:41:36 +0000
>
>Se voc� quizesse "alertar-me", teria fornecido exemplos concretos e fatos
>ao inv�s de me chamar de ignorante/mentiroso.
>
>� incr�vel como as pessoas ficam "valentes" na frente de um teclado.
>Imagine se voc� teria a coragem de me dizer cara a cara o que voc� me
>escreveu, depois de uma compara��o C# X Java em um eventual semin�rio da
>Microsoft - mais ou menos ou equivalente a um artigo no site da Microsoft.
>
>Mauro
>
>>From: "Sergio Oliveira Jr." <[EMAIL PROTECTED]>
>>To: [EMAIL PROTECTED]
>>CC: [EMAIL PROTECTED], [EMAIL PROTECTED]
>>Subject: Re: Artigo Java x C#
>>Date: Wed, 03 Oct 2001 00:35:27 +0000
>>
>>Mauro,
>>
>>Eu te dei duas op��es:
>>
>>1) Vc est� mentindo
>>2) Vc n�o sabe nada sobre Java
>>
>>Se vc optou pela alternativa 1), n�o h� nada que eu possa fazer.
>>
>>S� quiz humildemente alert�-lo que comprar uma briga sem estar numa
>>posi��o neutra e sem possuir informa��es corretas pode ser perigoso para a
>>sua imagem profissional.
>>
>>Possuo 6 anos de experi�ncia com a tecnologia Java e posso lhe afirmar que
>>o seu artigo possui diversas afirma��es incorretas, bizarras e suspeitas
>>sobre a tecnologia java.
>>
>>------------------------------
>>Sergio Oliveira Jr.
>>Sun Certified Java Programmer
>>Desenvolvedor e Consultor Java
>>------------------------------
>>
>>
>>
>>>From: "Mauro Sant'Anna" <[EMAIL PROTECTED]>
>>>To: [EMAIL PROTECTED]
>>>Subject: Re: Artigo Java x C#
>>>Date: Wed, 03 Oct 2001 00:24:44 +0000
>>>
>>>Caro senhor,
>>>
>>>O meu e-mail est� dispon�vel para cr�ticas construtivas e esclarecimento
>>>de d�vidas, n�o para ofensas.
>>>
>>>Mente o senhor ao iniciar a mensagem com "Com todo o respeito" e a seguir
>>>me chamar de mentiroso.
>>>
>>>Sem mais,
>>>
>>>Mauro
>>>
>>>>From: "Sergio Oliveira Jr." <[EMAIL PROTECTED]>
>>>>To: [EMAIL PROTECTED]
>>>>CC: [EMAIL PROTECTED], [EMAIL PROTECTED]
>>>>Subject: Artigo Java x C#
>>>>Date: Wed, 03 Oct 2001 00:19:20 +0000
>>>>
>>>>
>>>>Caro Mauro Sant'Anna,
>>>>
>>>>Com todo o respeito gostaria de lhe informar que o seu artigo sobre Java
>>>>x C# possui diversos erros grotescos em rela��o a tecnologia Java. Isso
>>>>demonstra que ou vc est� mentindo para promover a tecnologia C# ou vc
>>>>n�o sabe absolutamente nada sobre a tecnologia Java e nunca deveria ter
>>>>escrito um artigo como esse.
>>>>
>>>>Eu n�o tenho nenhuma experi�ncia com a tecnologia .Net, apenas sei que
>>>>ela � a alternativa da Microsoft para o sucesso da linguagem Java no
>>>>mercado. Portanto me limito a ficar calado quando o assunto � comparar
>>>>C# com Java. Vc definitivamente deveria fazer o mesmo para n�o passar
>>>>vergonha.
>>>>
>>>>------------------------------
>>>>Sergio Oliveira Jr.
>>>>Sun Certified Java Programmer
>>>>Desenvolvedor e Consultor Java
>>>>------------------------------
>>>>
>>>
>>
>
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------
