It is all a matter of what the compiler does, array accesses should generate the same Assembly instructions.
I have used quite a few languages whose base index could be 0, 1 or whatever I choosed. Even enumerations.
I have used quite a few languages whose base index could be 0, 1 or whatever I choosed. Even enumerations.
Intel's Math Kernel Library, which is a performant math library hand-tuned for Intel processors is zero-based in MKL-CBLAS.
It all depends on what you are familiar with, and staying consistent in use. I just use zero-based indexing in J and C and my numerical low-level work.