Mathematics and Computer Science have fairly well-established rules of precedence. These govern the way that mathematical or programming expressions are interpreted. Functions should always have their argument or argument list enclosed in parentheses and are always evaluated first. Otherwise the rules can be gleaned from http://en.wikipedia.org/wiki/Order_of_operations.

These rules apply in my favourite computer languages, C++, Maple and Python although there are some very minor differences to account for the different meaning of symbols between various languages.

Calculus books appear not to use these rules. For example in Stewart's calculus, we find \ln(x+2)^3 in a context where clearly \ln\left((x+2)^3\right) is intended. It would not be interpreted this way in Maple or on Webwork. We also find such notations as \sin^{-1} x and \sin^{2} x where the meaning of the exponent is completely different in each case.

Calculus book precedence is much simpler than the well-established rules of precedence because there is only one rule:

Any mathematical expression means whatever the author of the book wants it to mean.