avril
2009
J’avais vu le post d’origine Mardi, mais je n’en avais pas fait vraiment cas.
Pour les lecteurs attachés à la langue de Molière, le résumé est le suivant : après une ensemble d’entretiens pour un poste (cinq personnes, pas cinq cent), le rédacteur conclut que les développeurs .Net ont une culture du développement qui ignore majoritairement les pratiques d’IOC (Inversion de Controle), de DI (injection de dépendances) et de TDD (développement dirigés par les tests).
Après plusieurs billets croisés sur le net, la tendance (du moins, la tendance « bruyante »), outre-atlantique, semble s’être stabilisée sur le oui (que ce soit dans les communautés .Net et Java, d’ailleurs.), la faute selon les différents auteurs, revenant à Microsoft, qui promeut une méthodologie de développement drag’n drop.
Aux développeurs Java : ceci n’est pas un troll, c’est plus pour voir si les développeurs Java ont aussi des idées (un peu constructives, if possible )
Coté français, DNG vient de poster une news sur ce sujet, et j’attends de voir un peu les réactions dans les jours qui viennent (feu de paille, feu de foret.bon, en fait, rien du tout :D)
Sur le fond, je suis un peu d’accord, j’avais posté un message sur le forum un peu dans ce sens.
Ca m’a rappelé qu’au début (en.1999/2000, ca date), j’étais plutôt un fondu de Java, et je me rappelle qu’à l’époque, l’archi de référence, c’était les EJB et les jsp, avec Struts qui est monté en challenger après, avec un joli succès, et Spring/Nhibernate, qui semble avoir maintenant pris un peu la place de leader.si bien que des échos que j’ai des Javateux, maintenant, la référence en terme d’architecture, et de pratiques est passée du fournisseur du langage à la communauté.
En fait, en regardant avec un peu de recul, j’ai l’impression qu’on vit aujourd’hui la même évolution que la communauté Java, avec un train de retard.
Dans une première phase, Microsoft était le « donneur d’exemple », avec une guidance un peu approximative (voie carrément dangereuse, avec des datasets typés, et compagnie.)
La, on est entrés, depuis quelques temps, dans la phase ou la communauté passe à un rôle plus actif, avec des projets plus orientés bonnes pratiques et des débats plus sanguinolents.
Microsoft à bien poussé le langage ces dernières années (on est quand même très loin du 1.0, et l’avantage d’avoir MS derrière au niveau du Framework de base se fait sentir), mais son rôle de fournisseur du langage doit de toute façon s’arrêter (et être compris, ce qui n’est pas le cas pour le moment) à montrer le comment, les pratiques de bases, et à fournir dans le code les points d’extension nécessaires pour que la communauté propose les bonnes pratiques qui vont bien.
Je ne me rappelle pas, à l’époque, que Sun ait été d’une grande aide pour les bonnes pratiques (et que Java n’est Open source que depuis 2006, époque ou je n’y touchais plus, alors, ce que faisait Sun à ce moment la. )
Les nouveautés du Framework (Ajax Control Toolkit, Silverlight toolkit, MEF, DLR, IronPython, IronRuby, MVC) sont en open source, souvent pas mal fichues en terme de code, et commencent a être de bons modèles (ne parlons pas d’Oxite :p)
Codeplex (qui est, rappelons le, un portail de l’open source Microsoft, avec des contributions utilisateur et des contributions de MS) contient de plus en plus de bonnes choses.
En fait, on en est au point ou une des faiblesses en terme de pratiques est la profusion d’alternatives (ne serait-ce que pour l’accès aux données, entre l’open source, les solutions MS, les vendeurs tiers, on à plutôt l’embarras du choix.genre, au moins 7 ou 8 produits.), la ou, en Java, il ne reste souvent que 2 ou 3 alternatives viables et bien documentées.
Si on prends le schéma suivant (super classique), les pratiques comme IOC, DI, les ORM, le TDD etc, sont probablement en haut de la courbe d’adoption (je n’irais aps non plus jusqu’à dire que ce sont des pratiques conservatrices ), la ou, en .Net, ces pratiques sont encore l’apanage du pragmatiste moyen
Pour revenir sur le message de Davy Brion, baser, aujourd’hui, la comparaison entre les développeurs .Net et les développeurs Java sur des pratiques activement promues par l’archi de référence Java revient à dire que les oiseaux nagent moins bien que les poissons (sauf pour les pingouins :D), mais j’ai confiance dans le fait que la communauté est en train de prendre les choses en main, et, dans quelques temps, la donne pourrait être très différente.
Voila, coté Java, ma culture générale date certainement un peu, corrigez moi (pas trop fort) au besoin ;).pas de troll à 2 francs, par contre, du constructif
PS. comme un autre post orienté débat, j’ai fais n versions de ce post, depuis Mardi, mais plutôt que de re-re-re-rédiger jusqu’à la perfection, autant y aller
2 Commentaires + Ajouter un commentaire
Articles récents
Archives
- janvier 2014
- septembre 2013
- août 2013
- mai 2013
- avril 2013
- janvier 2013
- août 2012
- juin 2012
- mai 2012
- avril 2012
- mars 2012
- novembre 2011
- septembre 2011
- août 2011
- juillet 2011
- juin 2011
- mai 2011
- avril 2011
- février 2011
- janvier 2011
- novembre 2010
- octobre 2010
- septembre 2010
- août 2010
- juillet 2010
- juin 2010
- mai 2010
- avril 2010
- mars 2010
- février 2010
- janvier 2010
- décembre 2009
- novembre 2009
- octobre 2009
- septembre 2009
- août 2009
- juillet 2009
- juin 2009
- mai 2009
- avril 2009
- mars 2009
- février 2009
- janvier 2009
>Je suppose qu’un développeur fera du Java ou du MS selon son parcours professionnel et l’environnement de travail bien plus que selon ses talents
Je suis bien d’accord, et je ne mettais pas la faute sur le dos des programmeurs (enfin, pas seulement…)
Quel que soit le langage, si les fondamentaux sont la, ils le restent, et on peut faire du code oriente objet propre dans a peu près tous les langages objet.
Le constat est plus sur les pratiques de reference des deux communautes.
Si on se base a l’éducation reçue a l’école ou l’université, a moins que ca n’ait change depuis mon jeune temps, le développement oriente objet reste a un niveau assez bas (vive l’héritage, la composition, jamais entendu parler), les bonnes pratiques sont carrément absentes de l’enseignement…ce qui est assez dommage
Une fois qu’un jeune diplome va sortir des etudes, ce sont les entreprises qui vont l’embaucher qui vont devoir le former a ces pratiques. Et quels sont les modèles utilises en entreprises ?
Dans 80% des cas, une société va utiliser les modèles de développement pour lesquels on trouve le plus facilement du support, a moins d’avoir des développeurs suffisamment motives (et confiant, parce que si ca pete…) pour mettre en place d’autres pratiques.
Or, dans le monde .net, pour le moment, on trouve encore trop de code spaghetti, de dataset et de code directement récupéré depuis les demos niveau 100 de microsoft.
Autant dire que c’est le prestige de l’université qui rend bon l’étudiant. Ou que les allemands sont plus futés que les français parce que leur langue est plus logique.
Je suppose qu’un développeur fera du Java ou du MS selon son parcours professionnel et l’environnement de travail bien plus que selon ses talents.
Je veux bien croire qu’un big boss décideur soit plus futé de faire l’une ou l’autre technologie, mais jugé un programmeur là-dessus…