Date: Mar 14, 2006 8:55 AM
Subject: Re: Reason for operator precedence
> In article <firstname.lastname@example.org>, email@example.com writes:
> > Tony wrote:
> >> Hi all.
> >> Hope this isn't a silly question.
> >> I was wondering what the reason is for having multiple levels of operator
> >> precedence?
> >> Phrased another way, why is it that we don't just evaluate everything from
> >> left to right?
> >> Having multiple levels of precedence obviously adds complexity, so I assume
> >> there must be some payback. However, I don't see what it is.
> > As far as addition/subtraction vs multiplication/division is concerned,
> > one reason is to ensure that the distributive property of
> > multiplication works sensibly. For example, we want 3*(4 + 6) = 3*4 +
> > 3*6 = 3*(6 + 4) = 3*6 + 3*4.
> Remember that what we're talking about here is merely a notational
> convention. It has nothing whatsoever to do with the distributive
> property of multiplication over addition.
> You can express the distributive law for multiplication over division
> using parentheses:
> a*(b+c) = (a*b) + (b*c)
Obviously you can. I meant to make it work without needing parentheses,
but it seems that wasn't clear.