Czy istnieją jakieś poważne badania dotyczące tego, jak dobrze doświadczony programista, który zna język X, może zrozumieć kod napisany przez kompetentnego programistę używającego języka Y, dla szerokiego zakresu powszechnie używanych języków, takich jak X i Y?
Oczywiście prawdziwy świat nie jest tak prosty, ponieważ programiści znają tylko jeden język. Chcielibyśmy wiedzieć: jeśli wykonamy nasz projekt w, powiedzmy, C #, a pewnego dnia spojrzą na to niektórzy starzy fizycy, którzy znają tylko Fortran i Algol, to w jakim stopniu miałoby to dla nich sens? Matematyczne części mogą się im dobrze odczytać, jeśli zignorują to, co dla nich to jakieś losowe znaki interpunkcyjne. Czy ekspert w Pythonie byłby w stanie znaleźć błędy w moim sprytnym skrypcie Ruby?
Mogą występować problemy, od poziomu powierzchownej składni do poziomu wielkich pojęć, takich jak obiekty, metaprogramowanie szablonów, funkcjonalne i tak dalej. Nie oczekuję, że jeden programista w pełni zrozumie każdy szczegół składni kodu w „języku obcym” lub będzie podążał za religią jakiejś wielkiej koncepcji, ale zastanawiam się, w jakim stopniu uzyskają główny przepływ kontroli, znajdź miejsce gdzie coś jest rysowane na ekranie i co determinuje jego kolor lub rozmiar, sprawdź, czy robot zaprogramowany do kierowania samochodem wyłączy silnik, gdy to zrobione, tego rodzaju rzeczy.
Dobrej jakości badanie obejmowałoby opublikowane badania naukowe, oficjalny raport z jakiejś grupy branżowej lub dużej firmy programistycznej, chociaż będę systematycznie bezstronnie obserwował doświadczonych liderów warsztatów i klas lub innych źródeł. Nie interesują mnie krótkie blogi, przykłady pojedynczych przypadków ani anegdoty. (Cóż, może kilka anegdot, jeśli są dobrą lekturą.)