AndrĆ© Garzia made a nice blog post called ā€œLua, a misunderstood languageā€ recently, and unfortunately (but perhaps unsurprisingly) a bulk of HN comments on it was about the age-old 0-based vs. 1-based indexing debate. You see, Lua uses 1-based indexing, and lots of programmers claimed this is unnatural because ā€œevery other language out thereā€ uses 0-based indexing.

I’ll brush aside quickly the fact that this is not true — 1-based indexing has a long history, all the way from Fortran, COBOL, Pascal, Ada, Smalltalk, etc. — and I’ll grant that the vast majority of popular languages in the industry nowadays are 0-based. So, let’s avoid the popularity contest and address the claim that 0-based indexing is ā€œinherently betterā€, or worse, ā€œmore naturalā€.

It really shows how conditioned an entire community can be when they find the statement ā€œgiven a list x, the first item in x is x[1], the second item in x is x[2]ā€ to be unnatural. :) And in fact this is a somewhat scary thought about groupthink outside of programming even!