Empecemos por la definición de alto nivel, tranquil@, no hay que entenderlo en el primer párrafo.
La acción de iterar hace referencia a repetir varias veces un proceso con la intención de alcanzar un objetivo o resultado determinado.
Cada repetición del proceso es una "iteración" y, los resultados de una iteración (sean los esperados o no), se utilizan como punto de partida para la siguiente iteración, normalmente con unos nuevos objetivos y resultados clave que perseguir.
El ejemplo del huevo frito
Cada nuevo huevo frito que cocinamos es una nueva iteración basada en la experiencia previa. Simplifiquemos el proceso que lleva cocinar un huevo frito:
- Calentar aceite en una sartén
- Romper y dejar caer el huevo
- Cocinar el huevo
- Sacar el huevo de la sartén y dejarlo listo en el plato
Si los primeros huevos fritos que hacemos suelen salirnos con la yema rota, el foco de cada nueva iteración estará en conseguir que no se rompa y, para eso, modificaremos variables del paso 2. Y esto lo haremos tantas veces como sea necesario hasta conseguirlo.
Una vez tengamos controlado el paso 2, un nuevo objetivo al que podemos aspirar es el de que los bordes de la clara queden algo más fritos que el resto del huevo.
En este caso es lo mismo, buscaremos mejorar el paso 3 del proceso basándonos en los aprendizajes obtenidos de las iteraciones anteriores.
Pero no se trata de estar mejorando paso por paso en un orden u otro, podemos estar implementando mejoras en el emplatado del paso 4, a la vez que mejoramos el paso 3, por ejemplo.
¿Qué es “iterable”?
Cualquier proceso, sub-proceso, resultado u objetivo que sea susceptible de ser mejorado.
La acción de iterar tiene una connotación de mejora, ya que nadie busca un empeorar porque sí, al no ser que tenga planes malignos
Pero también es cierto que una iteración no te asegura una mejora, ni mucho menos, de ahí el dicho “ha sido peor el remedio que la enfermedad”. A menor experiencia, más fácil será cometer iteraciones erráticas.
¿Todo es “iterable”?
En realidad no, solo es iterable aquello que sea susceptible de ser modificado: procesos y resultados mutables. Otra cuestión es que, cuanto menor sea la participación humana, menor será la mutabilidad (abro plow twist: ¿pero hay algo en el que la raza humana no participa?). Vale, pongamos que sí.
El proceso de deshielo, hacer caer una maceta desde un tercero, las borrascas que aparecen en una fecha determinada del año. Son procesos no iterables en el momento en el que el humano los contempla bajo unas mismas condiciones de observación.
Son repeticiones entonces, no iteraciones.
Tampoco es iterable un proceso que consideremos inmejorable, un resultado final y un modo de obtenerlo que demos por óptimo. Para mi madre, iterar sus procesos comunicativos como mucho pasan por controlar la recurrencia de sus llamadas telefónicas, pero para nada pasan por descargarse whatsapp, una interfaz que le abruma con distintos chats y grupos sin sentido.
Por lo que, a veces, que algo sea iterable o no como, en este caso, la comunicación social, es subjetivo. Depende de las personas que se junten para evaluarlo.