Après avoir répondu à la question .NET ou Java dans mon précédent post. Je reviens à la charge avec une autre question que l’on se pose beaucoup moins souvent.
Quelle est la plus grande différence entre le .NET et Java ?
Réponse : La culture.
Cette fois-ci, la réponse existe, elle est simple et concise. Merci d’avoir lu ce billet. Au revoir.
Vous en voulez plus ? OK.
La culture Java est largement plus complexe que celle que l’on retrouve en .NET. Pour démontrer ceci, je vais plutôt repartir à l’envers en énonçant qu’il est plus simple de partir avec du .NET. Prenons un exemple, imaginons que je doive ajouter une couche d’accès au données à mon application.
La majorité (75% ?) des développeurs .NET auront le réflexe suivant :
- Je regarde l’aide locale sous Visual Studio en tapant des mots clés de recherche.
- Un résultat sera trouvé à coup sûr avec un exemple de code.
- Là, à nouveau la majorité s’arrête et commence à développer avec ce qu’il lit
- Le reste va effectuer quelques recherches sur la MSDN pour obtenir des infos supplémentaires.
- Avec tout ça, on attaque le dev.
Le pattern est simple : Ce que Microsoft dit, le développeur fait. Et MSDN est notre bible.
Malheureusement, cette culture coupe de nombreux développeurs de tout ce qui fait la richesse et la force du Java depuis des années. Par exemple, de nombreuses personnes ont découvert qu’avec Visual Studio Team System, un IDE pouvait nous aider à collaborer sur un référentiel projet contenant tests, docs, TU, etc…
Si l’on reprend ma petite liste du dessus, comment un développeur Java ferait ?
- google.com : « data access java » ou « couche access donnees java »
- pléthore de liens, de solutions d’articles techniques, de blogs…
- Très vite, le développeur constatera que les meilleurs articles parleront ORM / Gestion des Transactions / Indépendance de la base
- Puis il en viendra à se renseigner sur Hibernate / Spring 2 / etc… (Noms au hasard)
Clairement, la 2ème solution sera mieux architecturée et produira un logiciel mieux conçu (si le développeur n’est pas manchot 😉 )
Attention, je ne dis pas ici qu’un développeur Java est plus intelligent qu’un développeur .NET et je ne dis pas non plus que Java est mieux.
J’explique seulement que la différence entre le Java et le .NET est causé par la culture différente des deux ecosystèmes. Dans un cas on fait confiance à une seule autorité. Si Microsoft n’a jamais parlé des Mock Objects Dans son aide ou dans MSDN, les développeurs .NET ne sauront pas de quoi il s’agit… Pour les développeurs Java, il est évident qu’il n’existe pas une source fiable mais de nombreuses à lire et à comparer sur le web.
L’esprit critique est nécessaire quand on développe en Java et c’est une chose que devrait apprendre la communauté .NET.
Commentaires récents