A fi sau a nu fi un obiect: despre problema auto-referinței
Auto-referința (self reference) – modul unui obiect de a se referi la sine însuși – pare să fie tratată foarte diferit în limbajele orientate pe obiecte. În timp ce în limbajele statice asemănătoare cu Java, cuvântul this este magic, direct și în mare parte nefolosit, în Javascript, magia poate să deruteze. Și totuși, în Python, unii l-ar putea descrie drept ”explicit în mod redundant”. În alt limbaj dinamic, Ruby, self acționează foarte similar cu this din Java, dar metodele nu sunt obiecte nici acolo. Este această varietate de comportamente datorată deciziilor întâmplătoare de design, sau există vreun tipar comun în toate aceste limbaje OO?