Проводятся ли серьезные исследования того, насколько хорошо опытный программист, знающий язык X, может понимать код, написанный компетентным программистом на языке Y, для широкого спектра широко используемых языков, таких как X и Y?
Конечно, реальный мир не так прост, поскольку программисты знают только один язык. Что мы хотели бы знать: если мы сделаем наш проект, скажем, на C #, и когда-нибудь некоторые старые физики, которые знают только Fortran и Algol, посмотрят на него, в какой степени это имело бы смысл для них? Математические части этого могут показаться им понятными, если они проигнорируют то, что для них является какими-то случайными знаками препинания. Или же эксперт по Python сможет найти недостатки в моем умном Ruby-скрипте?
Могут быть проблемы от уровня поверхностного синтаксиса до уровня грандиозных понятий, таких как объекты, шаблонное метапрограммирование, функционал и так далее. Я не ожидаю, что один программист полностью поймет каждую синтаксическую деталь кода на «иностранном языке» или будет следовать религии какой-то великой концепции, но мне интересно, в какой степени они получат основной поток контроля, найдут место где что-то нарисовано на экране и что определяет его цвет или размер, убедитесь, что робот, запрограммированный для управления автомобилем, выключит двигатель, когда это будет сделано, такого рода вещи.
Хорошее качественное исследование будет включать в себя опубликованные научные исследования, официальный отчет какой-либо отраслевой группы или крупной компании-разработчика программного обеспечения, хотя я буду принимать систематические объективные наблюдения опытных руководителей семинаров и классов или других источников. Не интересуются короткими блогами, одиночными примерами или анекдотами. (Ну, может быть, несколько анекдотов, если они делают для хорошего чтения.)