In Fortran, variables beginning with the letters i through n have integer type by default, whereas all other letters imply a real-number (floating-point) variable. You can change this by declaring a type, but using i for a real is non-obvious.
(Hence the old joke, “God is real — unless declared integer.”)
idk, this arbitrary i-n range behaving differently than other variables sounds like a terrible source of weird bugs to me. I don’t think variable names should ever change a program’s behavior.
edit:
Many old Fortran 77 programs uses these implicit rules, but you should not! The probability of errors in your program grows dramatically if you do not consistently declare your variables.
This comes from early years, when FORTRAN was introduced and the programmers needed to save space in the punch cards. Today, to avoid this possible source of bugs, you usually state “implicit none” in the preamble.
Fortran, really.
In Fortran, variables beginning with the letters
i
throughn
have integer type by default, whereas all other letters imply a real-number (floating-point) variable. You can change this by declaring a type, but usingi
for a real is non-obvious.(Hence the old joke, “God is real — unless declared integer.”)
idk, this arbitrary i-n range behaving differently than other variables sounds like a terrible source of weird bugs to me. I don’t think variable names should ever change a program’s behavior.
edit:
source
This comes from early years, when FORTRAN was introduced and the programmers needed to save space in the punch cards. Today, to avoid this possible source of bugs, you usually state “implicit none” in the preamble.
So I’ve been an engineer doing code ports to newer versions of Fortran. I never knew why that was at the top of every file. Thank you.
Interesting. I assumed i for iterator.
i, j, k are commonly used as subscripts in linear algebra, too.
i^2 = j^2 = k^2 = ijk =-1