Comparação de plataformas Java e .Net
Classes de frameworks
Como a plataforma .Net tem acesso direto à API (Application Programming Interface) do sistema operacional Windows, suas classes de estrutura podem ser mais ricas. Tudo o que uma caixa de texto do Windows pode ser ou fazer, por exemplo, está disponível para o programador .Net. O Java, que funciona em qualquer máquina e em qualquer sistema operacional, deve ser baseado em expectativas mínimas de denominador comum e suas classes de framework podem oferecer apenas as opções mais rudimentares. Como resultado, os programas .Net, especialmente aqueles que têm interfaces gráficas de usuário complexas, geralmente são mais fáceis de criar, enquanto os programas Java exigem codificação extensiva ou a adoção de ferramentas de terceiros.
Multiplataforma ideal
Embora o objetivo por trás da filosofia Java "escrever uma vez, ser executado em qualquer lugar" seja louvável, na prática nem sempre funciona. Apesar dos esforços dos desenvolvedores em Java, as diferenças entre os sistemas operacionais e o hardware foram introduzidas na plataforma Java e os programas de multiplataforma geralmente envolvem uma tarefa de depuração. Por outro lado, o desenvolvimento no .Net é apenas ligeiramente melhor, uma vez que as diferenças entre as diferentes versões do Windows podem causar problemas semelhantes.
Custo
Java tem a vantagem, pelo menos no começo, de ser livre. O idioma e a plataforma são de código aberto e a maioria das ferramentas de desenvolvimento que o Java usa também é de código aberto. No entanto, muitas das extensões no nível empresarial para o idioma não são gratuitas e podem ser muito caras. Para o desenvolvimento básico da Web, a Microsoft oferece ferramentas gratuitas de .Net, mas para a maioria dos aplicativos importantes, você precisa comprar licenças do Visual Studio para desenvolver em .Net. A maioria das análises de custos dá à .Net uma vantagem quando se trata de custos imobiliários de longo prazo.
Conhecimento do desenvolvedor
Como está disponível gratuitamente e funciona em várias plataformas, as universidades ensinam Java com mais frequência que o .Net. Portanto, uma comparação no veridicus.com argumenta que adotar a plataforma Java é mais provável que um departamento de TI atraia mais desenvolvedores formalmente disciplinados e treinados. Java, porque já existe há muito tempo, também tem um volume maior de ajuda disponível on-line na forma de grupos de discussão, fóruns e tutoriais.