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