J'ai rencontré beaucoup de gens qui sont dogmatiquement contre tout ce qui peut être considéré comme une "optimisation" dans le sens général du terme en anglais, et ils citent très souvent mot pour mot la citation (partielle) "l'optimisation prématurée est la racine de tout mal" comme justification de leur position, ce qui implique qu'ils interprètent tout ce dont je parle comme une "optimisation prématurée". Cependant, ces vues sont parfois tellement ridiculement ancrées qu'elles rejettent à peu près tout type d'écart algorithmique ou de structure de données de la mise en œuvre la plus pure "naïve" ... ou du moins tout écart par rapport à la façon dont ils ont fait les choses auparavant.Comment peut-on approcher des gens comme celui-ci de manière à les faire "rouvrir les oreilles" après avoir cessé d'entendre parler de "performances" ou "d'optimisation"? Comment puis-je discuter d'un sujet de conception / implémentation qui a un impact sur les performances sans que les gens pensent immédiatement: "Ce gars veut passer deux semaines sur dix lignes de code?"
Maintenant, la position de savoir si "toute optimisation est prématurée et donc mauvaise" a déjà été abordée ici ainsi que dans d'autres coins du Web , et il a déjà été discuté comment reconnaître quand l'optimisation est prématurée et donc mauvaise , mais malheureusement, il y a encore des gens dans le monde réel qui ne sont pas aussi ouverts aux défis de leur foi en l'Anti-Optimisation.
Tentatives précédentes
À quelques reprises, j'ai essayé de fournir le devis complet de Donald Knuth afin d'expliquer que "l'optimisation prématurée est mauvaise" ↛ "toute optimisation est mauvaise":
Il faut oublier les petites efficacités, disons environ 97% du temps: l'optimisation prématurée est à l'origine de tout mal. Pourtant, nous ne devons pas laisser passer nos opportunités dans ces 3% critiques.
Cependant, lors de la fourniture de la totalité du devis, ces personnes deviennent parfois plus convaincues que ce que je fais est Premature Optimization ™ et creusent et refusent d'écouter. C'est presque comme si le mot "optimisation" leur faisait peur: à quelques reprises, j'ai été en mesure de proposer des modifications de code améliorant les performances sans qu'elles soient rejetées en évitant simplement d'utiliser le mot "optimiz (e | ation)" ( et "performance" également - ce mot fait aussi peur) et utilise plutôt une expression comme "architecture alternative" ou "implémentation améliorée". Pour cette raison, il semble vraiment que ce soit vraiment du dogmatisme et non pas en fait qu'ils évaluent ce que je dis de manière critique et puis le rejettent comme non nécessaire et / ou trop coûteux.