i,j, n,m, x,y,z ... We dont know the alphabet
Not working unexpectedly today, so I'm home bored out of my tree, and got to thinking (ya, it happens).
[warning: This will only seem interesting if you are a) bored out of your mind, like me or b) slow in the head (arguably also like me)]
Us programmers have strange habits in terms of naming conventions. We commonly use "i" as a counter. This makes some sense as its short form for integer. "n" is also common (number). So far so good. Yet when a nested loop is found and we need a new counter, we commonly proceed to j (or m after n). Apparently this is simply because j comes after i in the alphabet as has nothing whatsoever to do with our origional reason for chosing a logical variable name.
I tried using inc1 (for increment) and inc2 as its use was more apparent, but I have some kind of personal religious belief against using numbers in my variable names, so that fell through. x y and z are reserved for spacial coordinates, and it would be heresy to use them as simple counters. Doesn't it seem arbitrary to anyone else that we use two separate methods to derive an appropriate name? Why start in the middle of the alphabet and then proceed down the line from there?
The point? Yes, I sort of have one... I think there are lots of "standard" things we do that have no logical basis and yet are taught de facto. We have no idea why we do them, but we do it anyhow. Things like treating structs and classes like totally different creatures. We do it because its always been done that way. We no longer know why.
... Okay so I need to get outside, but its really wet. I'd say its ........ing harder than an alcoholic on cheap beer night, but thats probably too rude for the PG rating, so I wont... wait... doh...