Todo informático que se precie (e incluso alguno que no :P) sabe lo que es la recursividad. Pero, como tengo lectores que no sabrán qué leches es, he aquí la definición de la Wikipedia:
Recursión es la forma en la cual se especifica un proceso basado en su propia definición. Siendo un poco más precisos, y para evitar el aparente círculo sin fin en esta definición, las instancias complejas de un proceso se definen en términos de instancias más simples, estando las finales más simples definidas de forma explícita.
A grandes rasgos, algo recursivo es algo que, de una forma u otra, se usa a sí mismo. Pongamos un ejemplo sencillo: una función matemática que toma un número natural y te devuelve la suma de ese número más el anterior, más el anterior…
Sería algo así: suma(3) = 3 + suma(2). A su vez, suma(2) = 2 + suma(1). Pero, en recursividad, siempre tienes que poner un tope, o nunca obtendrías el valor. En este caso, ponemos el tope en el uno y definimos suma(1) = 1. De esta forma, cualquier suma tendrá un fin, seguro. Así, sustituyendo, suma(3) = 3 + 2 + 1.
Tras la breve clase de matemáticas, vamos a lo que me ha llevado a escribir esta entrada
Ayer un compañero del curro descubrió una aplicación, LogMeIn, que te permite entrar en cualquier ordenador que, previamente, haya instalado la misma aplicación y dado los permisos necesarios. De esta forma, un tío de sistemas pudo entrar en su ordenador para ver cómo teníamos configurado una cosa que nos daba problemas. Si abres el programa maximizado, lo que ves es, a parte de las barras de menús, herramientas y demás, exactamente lo mismo que se vería en el monitor del ordenador al que te has conectado.
La curiosidad de mi compañero le ha llevado a ‘logarse’ remotamente en su propio ordenador. El resultado no necesita comentario alguno, es la recursividad hecha pantallazo:


