4 ms·
The problems I see are mostly with the word. When you face a word you don't understand it can be a huge obstacle unrelated to the concept it represents. Its es
by duncanawoods 10y ago
The problems I see are mostly with the word. When you face a word you don't understand it can be a huge obstacle unrelated to the concept it represents.
Its especially bad when the definition is given to you as code you barely understand performing either a trivial task in a weird way that would seem to be a simple for-loop or a more sophisticated task involving say trees that you struggle to grasp even without the $5 word hanging over it telling you that you don't understand something.
Terms like self-reference are more intuitive.
- posterboy 10y agoWith mutual recursion, two functions calling each other, the self-reference is indirect and this word therefore not explicit. Would that be mutual reference, cross dependence? Does it really matter? In the functionals spirit, it would be enough to treat recursion as an unnamed lambda of the type "clever trick" :)
- duncanawoods 10y agoI think you said it yourself "indirect self-reference" - its self-describing and doesn't require much explanation. It lets you concentrate on showing why its useful rather than what it is. It leads naturally to discussions of scope of references in languages that don't make self-reference easy. One reason I think the word becomes confusing is that recursive functions typically also require introducing a recursive data-structures. It makes the teacher feel powerful introducing a special concept but the learner struggles with what feels like a category error - they were trying to understand a processing concept and now its also a property that can apply to static structures too.