Content deleted Content added
Outcome0970 (talk | contribs) Undid revision 1263024341 by Outcome0970 (talk) |
Outcome0970 (talk | contribs) Add example image Tags: Reverted Visual edit Mobile edit Mobile web edit |
||
Line 73:
Recursion is sometimes used humorously in computer science, programming, philosophy, or mathematics textbooks, generally by giving a [[circular definition]] or [[self-reference]], in which the putative recursive step does not get closer to a base case, but instead leads to an [[infinite regress]]. It is not unusual for such books to include a joke entry in their glossary along the lines of:
:Recursion, ''see Recursion''.<ref name=Hunter>{{cite book|last=Hunter|first=David|title=Essentials of Discrete Mathematics|year=2011|publisher=Jones and Bartlett|pages=494|url=https://books.google.com/books?id=kuwhTxCVovQC&q=recursion+joke|isbn=9781449604424}}</ref>
{{Plain image with caption|Recursive.svg|{{resizediv|An example of recursion found on an [[English Wikipedia]] article about recursion}}|upright=0.95|right|bottom}}
A variation is found on page 269 in the [[Back-of-the-book index|index]] of some editions of [[Brian Kernighan]] and [[Dennis Ritchie]]'s book ''[[The C Programming Language]]''; the index entry recursively references itself ("recursion 86, 139, 141, 182, 202, 269"). Early versions of this joke can be found in ''Let's talk Lisp'' by Laurent Siklóssy (published by Prentice Hall PTR on December 1, 1975, with a copyright date of 1976) and in ''Software Tools'' by Kernighan and Plauger (published by Addison-Wesley Professional on January 11, 1976). The joke also appears in ''The UNIX Programming Environment'' by Kernighan and Pike. It did not appear in the first edition of ''The C Programming Language''. The joke is part of the [[functional programming]] folklore and was already widespread in the functional programming community before the publication of the aforementioned books. <ref name="Grainger College">{{cite web |last1=Shaffer |first1=Eric |title=CS 173:Discrete Structures |url=https://courses.engr.illinois.edu/cs173/sp2009/Lectures/lect_19.pdf |publisher=University of Illinois at Urbana-Champaign |access-date=7 July 2023}}</ref> <ref name="Columbia University">{{cite web |title=Introduction to Computer Science and Programming in C; Session 8: September 25, 2008 |url=http://www.cs.columbia.edu/~bert/courses/1003/lecture8.pdf |publisher=Columbia University |access-date=7 July 2023}}</ref>
|