Je veux juste clarifier une chose. Ce n'est pas une question sur laquelle on est meilleur, cette partie que je laisse à quelqu'un d'autre pour en discuter. Je m'en fiche. On m'a posé cette question lors de mon entretien d'embauche et j'ai pensé qu'il pourrait être utile d'en apprendre un peu plus.
Ce sont ceux que je pourrais trouver:
- Java est "indépendant de la plate-forme". Eh bien, de nos jours, on pourrait dire qu'il y a le projet Mono , donc C # pourrait aussi être considéré, mais je pense que c'est un peu exagéré. Pourquoi? Eh bien, lorsqu'une nouvelle version de Java est terminée, elle est simultanément disponible sur toutes les plates-formes qu'elle prend en charge, en revanche combien de fonctionnalités de C # 3.0 manquent encore dans l'implémentation Mono? Ou est-ce vraiment CLR vs JRE que nous devrions comparer ici?
- Java ne prend pas en charge les événements et les délégués. Pour autant que je sache.
- En Java, toutes les méthodes sont virtuelles
- Outils de développement: je crois qu'il n'y a pas encore un tel outil que Visual Studio. Surtout si vous avez travaillé avec des éditions en équipe, vous comprendrez ce que je veux dire.
Veuillez en ajouter d'autres que vous jugez pertinentes.
Mise à jour: Je viens de penser, Java n'a pas quelque chose comme des attributs personnalisés sur les classes, les méthodes, etc. Ou est-ce le cas?