J'ai vu un commentaire / une remarque où il est dit quelque chose - par rapport à LINQ / lambda - dans le sens de: "Écrivez un code lisible par les humains, plutôt que par votre ordinateur".
Je pense que cette déclaration a beaucoup de mérite, cependant, considérons le développeur (comme moi-même) qui a traversé toute la gamme des langages de développement depuis Assembly, en passant par la procédure, en passant par OO, en passant par la gestion, en exploitant des solutions parallèles de tâches à haut débit. .
Je suis fier de rendre mon code aussi lisible et réutilisable que possible et d'adopter de nombreux principes de modèle de conception GOF afin de fournir des systèmes et des services de qualité de la production dans un grand nombre de secteurs d'activité différents.
La première fois que j'ai rencontré l'expression lambda, j'ai pensé: "Qu'est-ce que c'est que ça!?!" C'était immédiatement contre-intuitif par rapport à ma syntaxe déclarative explicite bien connue (et donc confortable). Les plus jeunes <5 ans dans le boulot, cependant, ont tout gâché comme si c'était de la manne du paradis!
En effet, pendant des années, penser comme un ordinateur (au sens syntaxique) se traduit très facilement en syntaxe de codage direct (quelle que soit la langue). Lorsque vous avez cet état d'esprit informatique depuis environ 20 ans (30 ans et plus dans mon cas), vous devez comprendre que le choc syntaxique initial de l'expression lambda peut facilement se traduire par la peur et la méfiance.
Peut-être que le collègue du PO était issu d'un milieu similaire au mien (c.-à-d. Passé autour du bloc à quelques reprises) et que c'était contre-intuitif pour eux à cette époque? Ma question est: qu'avez-vous fait à ce sujet? Avez-vous essayé de rééduquer votre pair pour qu'il comprenne les avantages de la syntaxe en ligne, ou est-ce que vous le pilori / ostracisez-le pour ne pas "être avec le programme"? Les premiers auraient probablement vu votre collègue se rallier à votre pensée, les seconds leur auraient probablement fait se méfier encore plus de la syntaxe LINQ / lambda et exacerber ainsi l'opinion négative.
Pour moi, je devais rééduquer ma propre façon de penser (comme le dit Eric ci-dessus, ce n'est pas un changement de mental insignifiant, et je devais programmer à Miranda dans les années 80, alors j'ai eu mon lot d'expérience en programmation fonctionnelle). mais une fois que j’ai vécu cette douleur, les avantages étaient évidents, mais plus important encore, là où son utilisation était trop utilisée (c’est-à-dire pour l’utiliser), complexe et répétitive (compte tenu du principe DRY dans ce cas).
En tant que personne qui non seulement écrit encore beaucoup de code mais qui doit également réviser techniquement beaucoup de code, il était impératif que je comprenne ces principes afin de pouvoir examiner les éléments de manière impartiale et d'indiquer les endroits où l'utilisation d'une expression lambda peut être plus efficace / lisible, et aussi pour amener les développeurs à considérer la lisibilité d'expressions lambda en ligne très complexes (lorsqu'un appel de méthode rendrait, dans ces cas, le code plus lisible, maintenable et extensible).
Donc, quand quelqu'un dit qu'il "ne reçoit pas de lambda?" ou la syntaxe LINQ, plutôt que de les qualifier de luddites, essayez de les aider à comprendre les principes sous-jacents. Après tout, ils peuvent avoir un passé "old school" comme moi.