the programmer has to learn how the compiler resolves it when reading others code. uh what? Well, yes, you obviously have to learn when learning new language. Are you expecting every language to be the same?
If the grammar is ambiguous, you have to learn the precedence of the operator, not because you need to use this feature yourself but because others (like retards) might use it.
For some, like * and +, it's obvious, but for others it's a PITA.