Mitos sobre as plataformas Java e .NET
Comentários técnicos de comparações entre as plataformas Java e .NET
É comum encontrarmos mitos sobre Java e .NET em debates de comparações entre as plataformas.
Também é indiscutível que ambas as plataformas são robustas e possuem suas vantagens e
desvantagens. Porém, estas comparações somente têm algum valor quando possuem um embasamento
técnico. Sendo assim, eu estou escrevendo uma série de artigos com nome "Comentários
técnicos de comparações entre as plataformas Java e .NET". A seguir, eu coloquei a
introdução da série de artigos e endereços para outras partes.
Introdução (artigo publicado em 05 de julho de 2009)
Comparações entre as plataformas Java e .NET costumam ser polêmicas e gerar intensos debates.
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. É comum encontrar pessoas que se apresentam como especialistas em uma das
plataformas e escrevem absurdos sobre a outra plataforma com objetivo de denegri-la.
Curiosamente, estas pessoas cometem equívocos até mesmo sobre a plataforma que estão defendendo
e na qual se julgam especialistas.
O que leva alguém a ler um texto de comparação entre as plataformas Java e .NET?
Em alguns casos, a pessoa precisa de informações para decidir sobre qual das plataformas,
Java ou .NET, adotar no desenvolvimento de um sistema num dado contexto. Em outros casos,
a pessoa quer direcionar seus estudos na plataforma que ela apostar ser a mais promissora.
Porém, estes são apenas dois entre vários outros motivos possíveis. Mas, independente da motivação,
uma coisa é certa: as informações de comparação entre as plataforma Java e .NET somente têm algum
valor se houver uma base técnica de sustentação consistente.
É possível encontrar muitos artigos que se propõem a comparar as plataformas Java e .NET
na Internet. Porém, na grande maioria dos casos, as informações são tendenciosas, incompletas e
escritas por pessoas despreparadas. Para não escrever um texto inútil, o autor de um artigo de
comparação entre Java e .NET precisa ter conhecimento e experiência nas duas plataformas e
tentar fazer uma análise o mais imparcial possível. É importante ressaltar que: NÃO EXISTE UMA
RESPOSTA ABSOLUTA sobre qual é a melhor plataforma. Uma plataforma pode ser mais indicada que a
outra num dado contexto e menos em outro.
Quando se deve e quando não se deve confiar em informações apresentadas num artigo ou num debate
de comparação entre as plataformas Java e .NET? É preciso analisar a fundamentação técnica das
informações apresentadas para justificar uma determinada conclusão. Conclusões baseadas em preferências
pessoais, em empirismo ou em mitos sem fundamentação técnica devem ser descartadas.
O objetivo desta série de artigos não é comparar as plataformas Java e .NET, porque seria necessário
escrever um enorme livro e, ainda assim, somente seria possível contextualizar alguns casos particulares.
A idéia é fornecer conhecimento técnico para derrubar mitos e equívocos que sempre surgem nestes debates.
Cada artigo da série será composto por afirmações reais que foram feitas sobre as plataformas Java e .NET,
tenham estas sido feitas em artigos, em comentários de artigos ou em debates de grupos de discussão,
seguidas pelos meus comentários técnicos relacionados. Os autores das afirmações não serão identificados,
uma vez que o propósito da série é esclarecer e não difamar.
É importante ressaltar que todas as informações técnicas apresentadas nos comentários desta série
de artigos terão embasamento teórico. Em geral, os comentários técnicos de uma determinada tecnologia
apresentarão links para fontes de informação confiáveis. Entendam fontes de informação confiáveis como
as organizações responsáveis pelo desenvolvimento da tecnologia que está sendo comentada. A idéia é
auxiliar o leitor a estudar os recursos de cada plataforma e tirar suas próprias conclusões.
Para uma localização temporal das informações apresentadas nos comentários técnicos, todos os artigos
serão precedidos pela data em que foram escritos. Constantemente as versões das tecnologias das plataformas
Java e .NET serão informadas de forma explícita nos comentários. O objetivo é permitir a identificação das
versões das tecnologias que estão sendo comentadas, uma vez que ambas as plataformas estão em constante
evolução. Além disto, ainda será informado de maneira explícita se uma determinada tecnologia, especificação
ou ferramenta já está disponível em versão final ou se ainda está em fase de desenvolvimento. Por exemplo,
na plataforma .NET é comum a Microsoft disponibilizar versões prévias denominadas CTP (Community Tecnology Preview),
Beta ou RC (Release Candidate) e a versão final denominada Final Release. E na plataforma Java, dentro do JCP
(Java Community Process), as JSRs (Java Specification Requests) podem passar por diversos estágios, como:
JSR Review Ballot, Early Drafty Review, Public Review, Public Review Ballot, Proposed Final Draft, Final Approval
Ballot e Final Release.
Outras partes da série de artigos
-
Parte 1
(artigo publicado em 05 de julho de 2009)
-
Parte 2
(artigo publicado em 29 de julho de 2009)
Autor da série de artigos