Envoyé par
sebastien.hebert
Pour des applications de types "Desktop", là où les interfaces graphiques sont importantes, le mieux est C# (plus simple, plus rapide et plus léger). Le projet Mono permet en effet de faire fonctionner des applications Windows .NET sur Linux tant qu'on n'utilise pas de brique spécifique à Windows - je crois qu'il existe notamment un outil livré avec Mono qui permet de vérifier la compatibilité.
Lorsqu'il s'agit d'applications Web, ça se complique. Perso, je trouve ASP.NET plus simple mais je dois reconnaître que JSF (le pendant d'ASP.NET côté Java) a fait d'énormes progrès. Néanmoins, je pense que Java est une meilleure solution dans ce cas car on ne dépend pas de IIS - on a le choix des serveurs applicatifs - et à mon sens IIS est beaucoup moins stable qu'un serveur Glassfish ou WebSphere.
Enfin, j'apprécie le côté serveur de Java plus mature que C# (EJB3 / Spring, frameworks de persistance éprouvés, gestion transactionnelle distribuée, etc.)
Au final, pourquoi ne pas utiliser C# pour développer côté client et Java côté serveur en faisant communiquer le tout via des services Web - surtout avec les progrès réalisés concernant l'interopérabilité grâce à ces technologies (cf. projet Metro).