Existe-t-il des études sérieuses sur la façon dont un programmeur expérimenté qui connaît le langage X peut comprendre le code écrit par un programmeur compétent utilisant le langage Y, pour une bonne gamme de langages largement utilisés comme X et Y?
Bien sûr, le monde réel n'est pas aussi simple qu'un programmeur ne connaît qu'une seule langue. Ce que nous aimerions savoir, c'est: si nous réalisons notre projet en C #, par exemple, et qu'un jour de vieux physiciens qui ne connaissent que Fortran et Algol l'examineront, dans quelle mesure cela aurait-il du sens pour eux? Les parties mathématiques de celui-ci pourraient bien leur être lues, s'ils ignorent ce que sont pour eux des signes de ponctuation aléatoires. Ou, un expert Python pourrait-il trouver des failles dans mon script Ruby intelligent?
Il pourrait y avoir des problèmes du niveau de la syntaxe superficielle au niveau des grands concepts tels que les objets, la métaprogrammation des modèles, les fonctions, etc. Je ne m'attends pas à ce qu'un seul programmeur comprenne pleinement tous les détails de la syntaxe du code dans une "langue étrangère" ou qu'il suive la religion d'un grand concept, mais je me demande dans quelle mesure ils obtiendraient le flux de contrôle principal, trouver l'endroit là où quelque chose est dessiné sur l'écran et ce qui détermine sa couleur ou sa taille, vérifiez qu'un robot programmé pour conduire une voiture éteindra le moteur quand il sera fait, ce genre de choses.
Une étude de bonne qualité comprendrait des recherches universitaires publiées, un rapport officiel d'un groupe industriel ou d'une grande société de logiciels, bien que je prenne des observations systématiques et impartiales de leaders expérimentés d'ateliers et de classes ou d'autres sources. Pas intéressé par les courts blogs, les exemples à cas unique ou les anecdotes. (Eh bien, peut-être quelques anecdotes si elles permettent une bonne lecture.)