FORTRAN made all variables starting with I , J , K , L , M and N integer by default. So just I by itself could be conveniently used as a loop variable. I imagine that choice was made because I , J , K , M and N are very commonly used as indices in mathematics. e.g., a sum of a series will typically be expressed as summing the terms A(i) for i going from 1 to n.

Where the practice originated in mathematics I have no idea. Influential languages such a C followed suit in that the K&R book used i as an index variable in examples.

Final answer: math and inertia.

Notes:

I didn't mention FORTRAN variables starting with i , etc. because computers essentially did not have lower case back then. I also intentionally left out L in math as it tends to be avoided as an index due to confusion with 1 and I .

FORTRAN's connection to math is quite strong. After all, it stands for FORmula TRANSlation with the main foreseen use converting science and engineering forumlas into something the computer can calculate.