Title: RE: [java-list] Re: Artigo Java x C#
Na verdade java use pass by reference mas utiliza copias.

Um possivel melhor performance é um swap(a&, b&). Instanciação de classes em Java é caro porem, passar referencias. Em Java seria: swap(array[], int int). Posso me imaginar que a maneira pass by reference é mais rápido.

[EMAIL PROTECTED] wrote:
[EMAIL PROTECTED]">

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]
-------------------------------------------------------------------------


Responder a