Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!cmcl2!lanl!jlg From: jlg@lanl.gov (Jim Giles) Newsgroups: comp.lang.c Subject: Re: learning C (was: Re: ambiguous ?) Message-ID: <14117@lanl.gov> Date: 25 Oct 89 01:12:08 GMT References: <225800228@uxe.cso.uiuc.edu> Organization: Los Alamos National Laboratory Lines: 18 From article <225800228@uxe.cso.uiuc.edu>, by mcdonald@uxe.cso.uiuc.edu: > Ummm- the user always has control of evaluation order in && and || > constructs. And any other place too, by use of temporary variables. > I thought this flame war was over the inability of the compiler > to optimize evaluation order in && and || constructs. This _discussion_ is about whether C has _efficient_ means of forcing evaluation order in _several_ contexts (the first was the order of argument evaluation in a function call). Temporary variables are _not_ an efficient solution (unless they are optimized out - something C compilers are rarely clever enough to do). Temporary variables also have a negative impact on readibility (by diffusing the 'locality' of specific operations). Now a "flame war" would be an exchange with no technical content in which the participants used phrases like "you're an ignorant @#$#%@ who doesn't know his #$@ from a $#@%$!!". I have tried, at least, to keep above that level (so far anyway).