for (int i = 0; i < foo; i++) {
// ...
}
Me crucé con una viejísima pregunta acerca de por qué en programación se utilizan habitualmente las variables i y j en los bucles. En realidad se puede usar cualquier variable: se puede llamar al contador a, b, counter o perico, pero i y j son las que suelen aparecer en los libros de texto, ejemplos y todo el código que hay ahora mismo corriendo en el planeta.
Las respuestas son muy variadas y abarcan varias teorías a cuál más curiosa, así que supongo que van «a gusto del consumidor»:
- La i significa iteración, que es de lo que se trata al realizar un bucle.
- En matemáticas tradicionalmente (1800-) se ha usado la i para el primer índice, j para el segundo, etcétera, por ejemplo en los sumatorios. Y muchos bucles emplean el contador como índice.
- En los tiempos del Fortran (1954-), las variables de la a a la h eran valores reales; de la i a la q eran enteros (a menos que se indicara otra cosa). Como para los bucles suele bastar un entero, se empezó por la i.
- … de ahí vendría el viejísimo chiste informático God is real (unless declared integer) traducible como «Dios es real (a menos que se declare como entero».
- Hay quien dice que es un homenaje al pionero de la computación Edsger Dijkstra.
Personalmente me parece que la del Fortran, con fuertes influencias matemáticas, debe ser la correcta; la de Dijkstra estaría bonita pero parece más
apócrifa que otra cosa. Incluso la primera podría ser una explicación tan bella como sencilla.
(Fuentes: Stack Exchange + Stack Overflow.)