Java vs .NET – Parte 2

Achei esta discussão pertinente de ser publicada aqui no blog. Para quem acompanhou a parte 1, aí vai a parte 2. Paulo Krieser mais uma vez expõe os fatos de forma clara, e dá explicações, complementando os comentários presentes no primeiro post, feito por leitores. Abaixo o texto na íntegra e retirado do Java Free. Boa leitura!

Acalorados comentaristas: esta coluna é para vocês, que contribuem para que nosso espaço fique melhor e possa nos fornecer cada vez mais informações preciosas. A idéia da coluna é justamente essa: participação.

Em um primeiro momento quero esclarecer que a idéia desta série de artigos é realizar comparações entre tecnologias da forma mais imparcial possível, para que o tomador de decisão possa escolher quais tecnologias utilizar em seus projetos.

Não existe uma tecnologia que seja melhor do que as outras: devemos sempre ter os objetivos em mente. Algumas se sobressaem em um fator, outras em outros fatores. Por isso a escolha de diversos itens de avaliação, como explicado na minha coluna Fatores para a Escolha de uma Linguagem de Programação.

Respondendo ao comentário do Vanderlei, que solicita o estudo realizado para a formulação dos gráficos que aparecem nas colunas. Conforme explicado em minha coluna Escolhendo a Linguagem: Java vs PHP, as notas atribuídas no gráfico são aproximações realizadas através de conhecimentos empíricos, da experiência que temos com projetos e através de pesquisas na internet.

A idéia não é se ter uma nota exata, e sim apenas um parâmetro de comparação indicando qual a melhor linguagem para determinado fator. Caso a informação contida no gráfico não lhe seja útil desta maneira empírica, fique à vontade para não utilizá-la.

Agora respondendo ao André Luiz Lehmann e ao Daniel: a idéia é comparar tecnologias. Talvez o melhor título para a coluna seja Escolhendo Tecnologias, mas eu não quis me deter a este preciosismo. A comparação é totalmente cabível sim, pois em muitos projetos que realizamos surgiu a dúvida: devemos fazer em Java ou .NET?

É a esta pergunta que queremos responder. Agora, mesmo sendo tecnicamente correto utilizar JEE vs .NET, ASP .NET vs Java ou JSP vs ASP, isto não desqualifica o artigo, devido ao propósito comparativo dele. Eu posso não ter utilizado as siglas com a precisão máxima, mas a comparação entre as tecnologias é totalmente cabível para um gestor tomar a decisão.

Jair: boa colocação, porém discordo em um ponto: o que percebemos no mercado é que o .NET acaba sendo mais rápido para desenvolver, mesmo o Java possuindo estas IDEs que você mencionou. Em uma grande parte dos casos, quem trabalha com .NET trabalha com o Visual Studio (versão paga), aproveitando suas funcionalidades RAD ao máximo. Já quem trabalha com Java normalmente não usa o IntelliJ, por exemplo.

Gabriel: não esqueci o Mono, ele está citado no terceiro parágrafo.

Agradeço ao Rogério Moraes de Carvalho pelo grande post, que demonstra uma certa consistência, embora apresente parcialidade. Concordo plenamente que a defesa não pode ser por paixão por determinada tecnologia, e sim por métodos objetivos.

Conforme comentei ao André Luiz Lehmann e ao Daniel, e vou comentar novamente, a idéia não é se conter aos preciosismos e discussões filosóficas se ASP é uma linguagem de programação ou se é apenas uma tecnologia, e sim realizar a comparação entre as possíveis tecnologias (ou plataformas) que podemos utilizar em um projeto.

Em um ponto Rogério, concordo com você: fui tendencioso em apenas este ponto, onde digo que nada na Microsoft é open source. Este ponto está enfático demais, porém não deixa de salientar a iniciativa monopolística da Microsoft. Todos sabemos que a Microsoft já sofreu processos em relação a isto.

Além disto, cometi um erro ao escrever Win32: eu quis dizer “plataforma Microsoft”. Obrigado Rogério pela correção.

Suportar diversas linguagens diferentes realmente pode causar mais caos e diminuir o quesito manutenabilidade. Por que temos padrões de projeto, melhores práticas e restringimos os desenvolvedores a utilizar o framework do projeto? Isto enrijece a estrutura, porém traz ordem. Este é o objetivo de se utilizar um padrão.

Claro que podemos utilizar apenas uma linguagem na plataforma .NET, porém ela permite utilizar várias, o que aumenta o RISCO de se aumentar a entropia do sistema. Utilizando um padrão fechado, com apenas uma linguagem e um framework, restringimos esta hipótese e diminuimos o risco de causar caos.

Em relação ao comentário do Rogério sobre conteúdo disponível, o que acontece é o seguinte: a plataforma JEE (às vezes a chamo simplesmente Java para fins de simplificação) possui muito mais tempo de mercado do que o .NET e mais programadores utilizando.

É mais utilizada em universidades, e devido a estes fatores o conteúdo na internet é maior do que o conteúdo disponível sobre as tecnologias Microsoft, o que facilita a curva de aprendizado. E veja que coloquei “a principal fonte de conteúdo é o MSDN”, e não a única fonte de conteúdo.

Conforme comentei em todas as colunas desta série, não sou apaixonado por nenhuma tecnologia específica. Minha intenção é fazer uma análise imparcial e objetiva, sem tendências, o que me faz discordar com a opinião do Rogério, que diz que fui “extremamente tendencioso”. Esta é uma opinião pessoal dele, que respeito, mas discordo impreterivelmente. O artigo possui embasamento técnico, teórico e empírico através da experiência que temos com o desenvolvimento de projetos. Queremos ser produtivos e atender ao máximo as demandas dos clientes, independente da tecnologia utilizada. O objetivo não é provar que algo é melhor, e sim atender bem aos clientes de acordo com os requisitos levantados.

Espero que esta série de artigos esteja ajudando a desenvolvedores, arquitetos e tomadores de decisão a conhecerem outras tecnologias e a fazerem suas melhores escolhas, pois este é o intuito do artigo.

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

%d blogueiros gostam disto: