Is there a objective reason for matrix naming conventions? I'm probably going to screw this up but.... In all the graphics libraries I've seen various matrices are often called something along the lines of

viewProjection
modelViewProjection
worldViewProjection
mvp
wvp


etc.

But, that seems unintuitive given that GLSL, HLSL, and most math libraries seem to multiply in the opposite direction.

In other words

viewProjection = projection * view;  // correct but unintuitive


vs

viewProjection = view * projection;  // incorrect but naming matches order


It gets worse if you add in transpose or inverse since now the order of operations vs the order of parts of the name of the matrix make zero sense whatsoever. a worldViewProjectionInverseTranspose would be

transpose(inverse(projection * view * world))


Well you can read it backward but as far as order of operations and position in the expression its 

5 ( 4 ( 1 * 2 * 3 ) )


Is there any objective reason for the names to be backward from the operations that construct them or is it just some naming convention that stuck from some example lost in obscurity?

I'm asking this question because being that it's unintuitive I find it's always hard to remember the order. If worldViewProjection equaled world * view * projection it would be easy since the name matches the order. I'm hoping there's some other objective reason that might help remember vs just remembering always multiply backward from the order of the parts of the commonly used names.
I think the naming order is intuitive because it is in reading order (left to right), e.g., worldViewProjection means that your point/direction is first multiplied by the world matrix, then the view matrix, and then the projection matrix. In this manner, you know the correct multiplication order by just reading the variable name and you do not have to think about mathematics at all. In your case, I think the problem is that your intuition seems to be focused on how you write the equations on paper or code.

The idea that a point is a column vector and matrices are multiplied on the left is also just a mathematical convention that you are used. You can use a row vector and multiply on the right by the transpose matrix, and the math is exactly the same, but would imply a reverse writing order in compound transformations. Some people just prefer one notation over the other.

I have read some old computer graphics books that use row vectors as points/directions, but it seems that most modern books have converged on using column vectors. IMHO, maybe this change during the years is one of the sources of confusion for so many new CG students.

For instance, if you choose to represent points as row vectors you would write something like this in your code: new_point = point * world * view * projection. On the other hand, if you use column vectors you would write this: new_point = projection * view * world * point. The important thing is that these matrices must not be the same, that is, the world matrix in the first code is the transpose of the world matrix in the second code, and the same is true for the others. As you can see, if you choose one math convention over the other, this will probably have influence on your naming conventions while writing your code.