Actually, if we generalize to all programming languages, this isn't merely a subjective question. The array-traversal performance for many programming languages is hobbled if incorrect indexing is used by the programmer, because programming languages don't always store their arrays in memory the same way. Most languages, to my knowledge, are either row-major or column major. You need to know which it is if you are going to write programs that require high performance number crunching.
Example: C uses row-major, which is the usual way of doing it. When you iterate through an N x N array row by row, you will probably only access memory N times, because each row is loaded together. So for the first element of the first row, you will go out to memory and get the whole row back. For the second element of the first row, you won't need to go out to memory because the row is already loaded. However, if you decided to go column by column there could be memory issues. For the first element of the first column, you'd load the whole row, then for the second element of the first column you'd load the next row... etc. Once you run out of space in the cache, the first row will probably be ditched to make room and once you start loading all the elements in column 2, you'll have to start all over again. This wouldn't be a problem in Fortran; rather, you'd want to do it this way, because the whole column is loaded at once rather than the whole row. Hope that made sense. See the Wikipedia article I linked to above for a more visual explanation.
For most programs, the most priority of the developer should be clean code. But knowledge of how that language handles memory can be essential in cases where performance is key. Good question.