2012/6/5 Jonathan M Davis <jmdavisp...@gmx.com> > > > I think that Bernard is being a bit harsh, but in essence, I agree. Since > the > evaluation order of arguments is undefined, programmers should be aware of > that > and code accordingly. If they don't bother to learn, then they're going to > get > bitten, and that's life. > > Now, Walter _has_ expressed interest in changing it so that the order of > evaluation for function arguments is fully defined as being left-to-right, > which solves the issue. I'd still council against getting into the habit of > writing code which relies on the order of evaluation for the arguments to a > function, since it's so common for other languages not to define it (so > that > the compiler can better optimize the calls), and so getting into the habit > of > writing code which _does_ depend on the order of evalution for function > arguments will cause you to write bad code you when you work in most other > programming languages. > > As for treating pre or post-increment operators specially in some manner, > that > doesn't make sense. The problem is far more general than that. If we're > going > to change anything, it would be to make it so that the language itself > defines > the order of evaluation of function arguments as being left-to-right. > > - Jonathan M Davis >
Agree completely!