Evento, Java x .NET

Comentários técnicos de comparações entre as plataformas Java e .NET – Parte 2

Autor: Rogério Moraes de Carvalho
Data da publicação: 29/07/2009

Artigos da série Comentários técnicos de comparações entre as plataformas Java e .NET

Parte 2

Seguem mais algumas afirmações reais sobre as plataformas Java e .NET sem fundamentação e os meus comentários técnicos. As afirmações podem ter sido feitas em artigos, em comentários de artigos ou em debates de grupos de discussão.

AFIRMAÇÃO 4 (retirada de um artigo)

"Além disto, nada na Microsoft é open source."

COMENTÁRIOS TÉCNICOS DA AFIRMAÇÃO 4

A afirmação 4 foi feita no mesmo artigo de onde foram retiradas as afirmações 1 a 3.

A Microsoft não somente tem diversos projetos open source, como criou um Web Site para hospedar projetos open source denominado CodePlex. O site pode ser acessado no seguinte endereço: http://www.codeplex.com. Inclusive, diversos dos projetos open source hospedados no CodePlex têm participação do time de desenvolvimento da Microsoft. Seguem exemplos de alguns projetos open source importantes hospedados no CodePlex: ASP.NET MVC, AJAX Control Toolkit, Silverlight Toolkit, DotNetNuke, SQL Server 2008 Sample Databases e DotNetZip, isto somente para citar alguns.

AFIRMAÇÃO 5 (retirada de um artigo)

"A grande diferença entre o J2EE e o .NET é que desde que o .NET suporta apenas Win32, um número maior de máquinas se faz necessário, comparando ao J2EE, devido às limitações dos processadores."

COMENTÁRIOS TÉCNICOS DA AFIRMAÇÃO 5

A afirmação 5 foi feita no mesmo artigo de onde foram retiradas as afirmações 1 a 4.

A afirmação de que a plataforma .NET somente suporta Win32 (arquitetura 32-bit) é completamente errada.

Atualmente, a plataforma .NET está na versão 3.5 SP1.

O Microsoft .NET Framework 3.5 Service Pack 1 (SP1) suporta as seguintes arquiteturas de processador:

  • x86
  • x64
  • ia64 (64-bit Intel Itanium architecture) (somente suportada com o Windows Server 2008)

O Microsoft .NET Framework 3.5 Service Pack 1 (SP1) suporta os seguintes sistemas operacionais:

  • Microsoft Windows XP
  • Microsoft Windows Server 2003
  • Windows Vista
  • Windows Server 2008
  • Windows 7

Informações mais detalhadas podem ser encontradas no documento Microsoft .NET Framework 3.5 Service Pack 1 (SP1) Readme, disponível no seguinte endereço: http://download.microsoft.com/download/A/2/8/A2807F78-C861-4B66-9B31-9205C3F22252/dotNet35SP1Readme.htm.

AFIRMAÇÃO 6 (retirada de um artigo)

"Em um fator de extrema importância, como velocidade de desenvolvimento, o .NET leva grande vantagem. A sua IDE proprietária, o Visual Studio, é baseado em RAD (Rapid Application Development), aumentando a agilidade na construção de aplicações. O Visual Studio .NET inclui várias ferramentas interessantes em termos de produtividade, como por exemplo o Web Forms. Estima-se que um projeto criado do zero, leve-se de 10% a 20% menos tempo para entrar em produção quando desenvolvido em .NET."

COMENTÁRIOS TÉCNICOS DA AFIRMAÇÃO 6

A afirmação 6 foi feita no mesmo artigo de onde foram retiradas as afirmações 1 a 5.

Este trecho corresponde a uma opinião pessoal do autor sem nenhuma base técnica.

A questão de o Visual Studio ser mais produtivo que os IDEs de Java é bastante discutível. Na realidade, a discussão está bem longe de ser simples como sugere o autor. Qualquer estimativa que não leve em consideração as características do projeto de software a ser desenvolvido será uma mera especulação sem a menor credibilidade. Além disto, em comparações de produtividade entre IDEs deve-se isolar e comparar recursos equivalentes individualmente.

Somente para citar um recurso, a última versão do IDE NetBeans (6.7) tem um suporte muito maior a refactoring que a última versão do Visual Studio (2008 SP1). E a última versão do IDE do Eclipse (3.5.0 – Galileo) ainda supera o NetBeans 6.7 neste quesito. Certamente, refactoring é um recurso essencial para aumentar a produtividade em projetos corporativos com arquiteturas complexas. Além disto, os refactorings do Eclipse são projetados para sugerir melhores práticas de programação orientada a objetos, superando o Visual Studio em alguns refactorings individuais.

Observe que seria um absurdo eu concluir que os IDEs NetBeans 6.7 e Eclipse 3.5.0 são mais produtivos que o IDE Visual Studio 2008 SP1 pelo simples fato de terem um suporte muito superior ao recurso de refactoring. Assim como é mais absurdo ainda o autor concluir que o Visual Studio é mais produtivo, sem nem mesmo citar com que IDEs Java está comparando e nem as versões usadas na análise dele. Pior ainda, o autor ainda é capaz de deduzir uma redução de 10% a 20% no tempo gasto para um sistema entrar em produção quando desenvolvido em .NET, em relação à Java, sem nem sequer contextualizar o projeto a ser desenvolvido e nem os IDEs Java a serem utilizados. Ou seja, esta afirmação é completamente desprovida de significado técnico.

AFIRMAÇÃO 7 (retirada de um fórum)

"Se você considerar só a IDE realmente é de 10% a 20% a menos. Se considerar que no Java usam-se 300 frameworks para fazer uma coisa, e que cada vez que você contrata um desenvolvedor precisa ensinar ele a usar o framework que você utiliza, já perde mais uns 10%. Colocando outras possibilidades, como delegates, enums (que o Java só recebeu recentemente), LINQ, etc, vai mais uns 10%. Ou seja, dá uma produtividade de até 40% a mais… Ainda bem que desenvolvedor é barato, e que o caro é máquina, não é? Ops, acho que é o contrário…"

COMENTÁRIOS TÉCNICOS DA AFIRMAÇÃO 7

A afirmação 7 foi feita num fórum e corresponde a uma resposta à afirmação 6.

Na afirmação 6, o autor do artigo tirou uma conclusão sem o menor fundamento técnico e sem contextualização, chutando uma porcentagem de 10% a 20% no tempo gasto a menos para um sistema entrar em produção quando desenvolvido em .NET.

Porém, o comentário da afirmação 7 pode ser considerado até mesmo mais absurdo que o escrito na afirmação 6. Este tipo de comentário da afirmação 7 exemplifica, de forma bem clara, a idéia destacada no parágrafo abaixo.

Na maioria das vezes, estes debates deixam a parte técnica de lado e passam a conter disputas de ego. Neste cenário, a precisão técnica da informação passa a ser secundária, pois o mais importante é tentar convencer que uma das plataformas é superior à outra independente de contexto. Em geral, estes debates são carregados de ironias que não acrescentam nada, além de conter diversas informações erradas.

O parágrafo destacado acima foi retirado da introdução desta série de artigos.

Na afirmação 7, as porcentagens são chutadas exatamente como fez o autor do artigo original. Somente para destacar uma parte: "Colocando outras possibilidades, como delegates, enums (que o Java só recebeu recentemente), LINQ, etc, vai mais uns 10%.".

O radicalismo da afirmação 7 também fica claro na declaração de que muitas opções de frameworks para fazer a mesma coisa é prejudicial para a produtividade. Observem aqui uma inversão de valores, uma vez que ter muitas opções passou a ser uma desvantagem. Curiosamente, a própria plataforma .NET já tem diversos frameworks para fazer as mesmas coisas. Principalmente em projetos de frameworks open source com recursos similares aos fornecidos pela Microsoft no .NET Framework. Porém, o autor da afirmação 7 somente consegue enxergar este problema na plataforma Java.

Rogério Moraes de Carvalho
Twitter: @rogeriomc

2 comentários sobre “Comentários técnicos de comparações entre as plataformas Java e .NET – Parte 2

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s