Recursive programming and wordplay
Here is a short note on the concept of Recursion which is interesting to say the least, powerful in many cases and playful in some.
Dictionary.com defines Recursion as 'the process of defining a function or calculating a number by the repeated application of an algorithm, and is connected with Mathematics and Computers'. And it defines the Recursion formula in Mathematics as 'a formula for determining the next term of a sequence from one or more of the preceding terms'.
In mathematics, a self-explanatory example would be the Factorial function: {N ! = N X (N-1)!}; N stands for the nth term. Another one would be the Fibonacci series {N = (N-1) + (N-2)}.
In essence, Recursion as a concept is when something references itself to define itself; and the fields of programming and mathematics is peppered with it.
In computer programming Recursion is used often and has many use cases. Here, Recursion works by solving for something by referring to a smaller version of this something. If we take the factorial example, a Recursive function looks somewhat like this : {define a function : factorial n= if n is 0, then the answer is 1, otherwise the answer is n * factorial (n-1) function }. Here the (n-1) factorial function towards the end is a smaller version of the (n) factorial function. And this loop continues till the base level is reached.
On a related note, Recursive Acronyms are also common in the world of computer science. I am wondering if these playful names popped up because Recursion is used quite a bit in computer programming (common in mathematics as well, which is a connected field); and from what I know, it become popular in MIT in the mid 1900s.
Some Recursive Acronyms in the field of computer science (they are many more):
GNU - GNU's is Not Unix PIP - Pip Install Packages NoSQL - NoSQL is not only SQL
Thank you for reading and do share if you know more about the history of Recursive acronyms.
Disclaimer: The views expressed in this post are my own and do not necessarily reflect the views of my employer.