Rôle de la compréhension dans le génie logiciel/Bachoter au lieu de comprendre
Un autre archétype consiste à consacrer un temps très limité à la compréhension d'un problème complexe. Si on reste sur le choix des langages, supposons deux développeurs qui débutent sur un sujet nouveau, un jeu vidéo. Ils vont passer entre une semaine et un mois à explorer la question des langages en navigant sur le web et en parlant à leurs amis. Puis ils prennent une décision et oublient la question des langages pour les mois à venir. Il y a un paradoxe à procéder de la sorte car le sujet des langages de programmation et leur évolution demande une attention permanente. Comprendre leur genèse, spéculer sur leur évolution et devenir polyglotte est une condition nécessaire à un choix. À défaut de cela, en l'absence d'une compréhension des langages de programmation, passer un mois à choisir est au mieux une mascarade qui justifie des a-priori. Il y a tout à parier qu’à l'issu d'une prétendue recherche de quelque semaine le choix soit identique à celui qui aurait été fait en une simple journée.
Il y a un remède à ce problème: s'instruire et s'intéresser de façon permanente à la question des langages, apprendre un ou deux langage chaque année. Rêver du langage du futur et en discuter. L'exercice est périlleux parce que l'effort doit rester en pointillé, doit céder à l'activité principale, doit rester un sujet d'amateur éclairé. À défaut d’avoir réussi à aimer ce sujet au point de s'y intéresser avec régularité au fil des ans, on peut simplement ne pas se livrer à la mascarade de la recherche de solution. Reconnaitre son ignorance fait gagner un temps précieux. On reste sur les langages que l’on maîtrise et avec lesquels on se sent à l'aise. Ou bien on s'en remet au choix de quelqu’un d'autre.