Java x .NET.
Faz tempo que essa rixa acontece, seja na Internet ou fora dela, mas o fato é que o Java e o .NET são plataformas de desenvolvimento que abrangem uma ampla gama de aplicações (móveis, desktop, cliente/servidor e Web), porém embora tantas similaridades as duas tem 1 característica que as distancia ao extremo:
- Java é multiplataforma (Linux, Mac, Windows, etc) com apenas 1 linguagem de programação;
- .NET é plataforma fechada (Windows) com várias linguagens (ASP, C#, etc).
As duas competem tanto em termos técnicos quanto em filosofia comercial. Mas uma coisa é muito interessante, geralmente o pessoal que desenvolve em .NET clama que Java é complexo e pouco produtivo. Eles realmente tem razão, Java é complexo e muito pouco produtivo, pelo menos se você utilizar o bloco de notas para desenvolver em Java. É isso mesmo se você desenvolver em Java pode faze-lo simplesmente utilizando o bloco de notas ou qualquer outro editor de textos.
O fato é que o pessoal do .NET é preso a sua IDE de desenvolvimento (Visual Studio), sem a IDE não existe programação em .NET (até existe, mas é rídiculo). Na verdade grande parte dos recursos de desenvolvimento do .NET e sua tão aclamada agilidade é tudo crédito da IDE. Em Java por ser um ambiente heterogêneo que presa a liberdade de escolha é possível até mesmo escolher a IDE de desenvolvimento.
Assim, hoje existem grandes IDE´s para desenvolvimento em Java, como por exemplo o Netbeans. Como uma IDE robusta dando suporte ao desenvolvimento você pode fazer qualquer coisa que .NET faz, com a mesma rapidez e agilidade e com a vantagem de poder executar sua aplicação sob qualquer ambiente que tenho uma JVM (celulares, PDA´s, PC, Mac, setup box, etc). Hoje existe uma gama enorme de hardware e software SO que suportam Java.
Então agora a opção é sua, se vai ficar preso a plataforma Windows ou vai deixar que o seu cliente decida qual ambiente ele quer utilizar a sua aplicação.